Roman Divacky | fd42ed6 | 2012-06-04 17:36:38 +0000 | [diff] [blame] | 1 | target datalayout = "E-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v128:128:128-n32:64" |
| 2 | target triple = "powerpc64-unknown-freebsd10.0" |
Bill Schmidt | fc7695a | 2013-02-25 16:44:35 +0000 | [diff] [blame] | 3 | ; RUN: llc -O0 < %s -march=ppc64 | FileCheck -check-prefix=OPT0 %s |
| 4 | ; RUN: llc -O1 < %s -march=ppc64 | FileCheck -check-prefix=OPT1 %s |
Roman Divacky | fd42ed6 | 2012-06-04 17:36:38 +0000 | [diff] [blame] | 5 | |
| 6 | @a = thread_local global i32 0, align 4 |
| 7 | |
Stephen Lin | 8b2b8a1 | 2013-07-14 06:24:09 +0000 | [diff] [blame] | 8 | ;OPT0-LABEL: localexec: |
| 9 | ;OPT1-LABEL: localexec: |
Roman Divacky | fd42ed6 | 2012-06-04 17:36:38 +0000 | [diff] [blame] | 10 | define i32 @localexec() nounwind { |
| 11 | entry: |
Bill Schmidt | fc7695a | 2013-02-25 16:44:35 +0000 | [diff] [blame] | 12 | ;OPT0: addis [[REG1:[0-9]+]], 13, a@tprel@ha |
| 13 | ;OPT0-NEXT: li [[REG2:[0-9]+]], 42 |
| 14 | ;OPT0-NEXT: addi [[REG1]], [[REG1]], a@tprel@l |
Bill Schmidt | 37ef805 | 2013-03-27 02:40:14 +0000 | [diff] [blame] | 15 | ;OPT0: stw [[REG2]], 0([[REG1]]) |
Bill Schmidt | fc7695a | 2013-02-25 16:44:35 +0000 | [diff] [blame] | 16 | ;OPT1: addis [[REG1:[0-9]+]], 13, a@tprel@ha |
| 17 | ;OPT1-NEXT: li [[REG2:[0-9]+]], 42 |
| 18 | ;OPT1-NEXT: stw [[REG2]], a@tprel@l([[REG1]]) |
Roman Divacky | fd42ed6 | 2012-06-04 17:36:38 +0000 | [diff] [blame] | 19 | store i32 42, i32* @a, align 4 |
| 20 | ret i32 0 |
| 21 | } |