[X86] Regenerate tls.ll and reuse common linux check prefixes
diff --git a/llvm/test/CodeGen/X86/tls.ll b/llvm/test/CodeGen/X86/tls.ll
index c4ee609..435555d 100644
--- a/llvm/test/CodeGen/X86/tls.ll
+++ b/llvm/test/CodeGen/X86/tls.ll
@@ -1,8 +1,8 @@
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
; RUN: llc < %s -mtriple=i386-linux-gnu | FileCheck -check-prefix=X86_LINUX %s
; RUN: llc < %s -mtriple=x86_64-linux-gnu | FileCheck -check-prefix=X64_LINUX %s
-; RUN: llc < %s -mtriple=i386-linux-gnu -fast-isel | FileCheck -check-prefix=X86_ISEL_LINUX %s
-; RUN: llc < %s -mtriple=x86_64-linux-gnu -fast-isel | FileCheck -check-prefix=X64_ISEL_LINUX %s
+; RUN: llc < %s -mtriple=i386-linux-gnu -fast-isel | FileCheck -check-prefix=X86_LINUX %s
+; RUN: llc < %s -mtriple=x86_64-linux-gnu -fast-isel | FileCheck -check-prefix=X64_LINUX %s
; RUN: llc < %s -mtriple=i686-pc-win32 | FileCheck -check-prefix=X86_WIN %s
; RUN: llc < %s -mtriple=x86_64-pc-win32 | FileCheck -check-prefix=X64_WIN %s
; RUN: llc < %s -mtriple=i686-pc-windows-gnu | FileCheck -check-prefix=MINGW32 %s
@@ -29,16 +29,6 @@
; X64_LINUX-NEXT: movl %fs:i1@TPOFF, %eax
; X64_LINUX-NEXT: retq
;
-; X86_ISEL_LINUX-LABEL: f1:
-; X86_ISEL_LINUX: # %bb.0: # %entry
-; X86_ISEL_LINUX-NEXT: movl %gs:i1@NTPOFF, %eax
-; X86_ISEL_LINUX-NEXT: retl
-;
-; X64_ISEL_LINUX-LABEL: f1:
-; X64_ISEL_LINUX: # %bb.0: # %entry
-; X64_ISEL_LINUX-NEXT: movl %fs:i1@TPOFF, %eax
-; X64_ISEL_LINUX-NEXT: retq
-;
; X86_WIN-LABEL: f1:
; X86_WIN: # %bb.0: # %entry
; X86_WIN-NEXT: movl __tls_index, %eax
@@ -64,8 +54,8 @@
; MINGW32-NEXT: retl
entry:
- %tmp1 = load i32, ptr @i1
- ret i32 %tmp1
+ %tmp1 = load i32, ptr @i1
+ ret i32 %tmp1
}
define dso_local ptr @f2() {
@@ -81,18 +71,6 @@
; X64_LINUX-NEXT: leaq i1@TPOFF(%rax), %rax
; X64_LINUX-NEXT: retq
;
-; X86_ISEL_LINUX-LABEL: f2:
-; X86_ISEL_LINUX: # %bb.0: # %entry
-; X86_ISEL_LINUX-NEXT: movl %gs:0, %eax
-; X86_ISEL_LINUX-NEXT: leal i1@NTPOFF(%eax), %eax
-; X86_ISEL_LINUX-NEXT: retl
-;
-; X64_ISEL_LINUX-LABEL: f2:
-; X64_ISEL_LINUX: # %bb.0: # %entry
-; X64_ISEL_LINUX-NEXT: movq %fs:0, %rax
-; X64_ISEL_LINUX-NEXT: leaq i1@TPOFF(%rax), %rax
-; X64_ISEL_LINUX-NEXT: retq
-;
; X86_WIN-LABEL: f2:
; X86_WIN: # %bb.0: # %entry
; X86_WIN-NEXT: movl __tls_index, %eax
@@ -118,7 +96,7 @@
; MINGW32-NEXT: retl
entry:
- ret ptr @i1
+ ret ptr @i1
}
define dso_local i32 @f3() nounwind {
@@ -134,18 +112,6 @@
; X64_LINUX-NEXT: movl %fs:(%rax), %eax
; X64_LINUX-NEXT: retq
;
-; X86_ISEL_LINUX-LABEL: f3:
-; X86_ISEL_LINUX: # %bb.0: # %entry
-; X86_ISEL_LINUX-NEXT: movl i2@INDNTPOFF, %eax
-; X86_ISEL_LINUX-NEXT: movl %gs:(%eax), %eax
-; X86_ISEL_LINUX-NEXT: retl
-;
-; X64_ISEL_LINUX-LABEL: f3:
-; X64_ISEL_LINUX: # %bb.0: # %entry
-; X64_ISEL_LINUX-NEXT: movq i2@GOTTPOFF(%rip), %rax
-; X64_ISEL_LINUX-NEXT: movl %fs:(%rax), %eax
-; X64_ISEL_LINUX-NEXT: retq
-;
; X86_WIN-LABEL: f3:
; X86_WIN: # %bb.0: # %entry
; X86_WIN-NEXT: movl __tls_index, %eax
@@ -171,8 +137,8 @@
; MINGW32-NEXT: retl
entry:
- %tmp1 = load i32, ptr @i2
- ret i32 %tmp1
+ %tmp1 = load i32, ptr @i2
+ ret i32 %tmp1
}
define dso_local ptr @f4() {
@@ -188,18 +154,6 @@
; X64_LINUX-NEXT: addq i2@GOTTPOFF(%rip), %rax
; X64_LINUX-NEXT: retq
;
-; X86_ISEL_LINUX-LABEL: f4:
-; X86_ISEL_LINUX: # %bb.0: # %entry
-; X86_ISEL_LINUX-NEXT: movl %gs:0, %eax
-; X86_ISEL_LINUX-NEXT: addl i2@INDNTPOFF, %eax
-; X86_ISEL_LINUX-NEXT: retl
-;
-; X64_ISEL_LINUX-LABEL: f4:
-; X64_ISEL_LINUX: # %bb.0: # %entry
-; X64_ISEL_LINUX-NEXT: movq %fs:0, %rax
-; X64_ISEL_LINUX-NEXT: addq i2@GOTTPOFF(%rip), %rax
-; X64_ISEL_LINUX-NEXT: retq
-;
; X86_WIN-LABEL: f4:
; X86_WIN: # %bb.0: # %entry
; X86_WIN-NEXT: movl __tls_index, %eax
@@ -225,7 +179,7 @@
; MINGW32-NEXT: retl
entry:
- ret ptr @i2
+ ret ptr @i2
}
define dso_local i32 @f5() nounwind {
@@ -239,16 +193,6 @@
; X64_LINUX-NEXT: movl %fs:i3@TPOFF, %eax
; X64_LINUX-NEXT: retq
;
-; X86_ISEL_LINUX-LABEL: f5:
-; X86_ISEL_LINUX: # %bb.0: # %entry
-; X86_ISEL_LINUX-NEXT: movl %gs:i3@NTPOFF, %eax
-; X86_ISEL_LINUX-NEXT: retl
-;
-; X64_ISEL_LINUX-LABEL: f5:
-; X64_ISEL_LINUX: # %bb.0: # %entry
-; X64_ISEL_LINUX-NEXT: movl %fs:i3@TPOFF, %eax
-; X64_ISEL_LINUX-NEXT: retq
-;
; X86_WIN-LABEL: f5:
; X86_WIN: # %bb.0: # %entry
; X86_WIN-NEXT: movl __tls_index, %eax
@@ -274,8 +218,8 @@
; MINGW32-NEXT: retl
entry:
- %tmp1 = load i32, ptr @i3
- ret i32 %tmp1
+ %tmp1 = load i32, ptr @i3
+ ret i32 %tmp1
}
define dso_local ptr @f6() {
@@ -291,18 +235,6 @@
; X64_LINUX-NEXT: leaq i3@TPOFF(%rax), %rax
; X64_LINUX-NEXT: retq
;
-; X86_ISEL_LINUX-LABEL: f6:
-; X86_ISEL_LINUX: # %bb.0: # %entry
-; X86_ISEL_LINUX-NEXT: movl %gs:0, %eax
-; X86_ISEL_LINUX-NEXT: leal i3@NTPOFF(%eax), %eax
-; X86_ISEL_LINUX-NEXT: retl
-;
-; X64_ISEL_LINUX-LABEL: f6:
-; X64_ISEL_LINUX: # %bb.0: # %entry
-; X64_ISEL_LINUX-NEXT: movq %fs:0, %rax
-; X64_ISEL_LINUX-NEXT: leaq i3@TPOFF(%rax), %rax
-; X64_ISEL_LINUX-NEXT: retq
-;
; X86_WIN-LABEL: f6:
; X86_WIN: # %bb.0: # %entry
; X86_WIN-NEXT: movl __tls_index, %eax
@@ -328,7 +260,7 @@
; MINGW32-NEXT: retl
entry:
- ret ptr @i3
+ ret ptr @i3
}
define dso_local i32 @f7() {
@@ -342,16 +274,6 @@
; X64_LINUX-NEXT: movl %fs:i4@TPOFF, %eax
; X64_LINUX-NEXT: retq
;
-; X86_ISEL_LINUX-LABEL: f7:
-; X86_ISEL_LINUX: # %bb.0: # %entry
-; X86_ISEL_LINUX-NEXT: movl %gs:i4@NTPOFF, %eax
-; X86_ISEL_LINUX-NEXT: retl
-;
-; X64_ISEL_LINUX-LABEL: f7:
-; X64_ISEL_LINUX: # %bb.0: # %entry
-; X64_ISEL_LINUX-NEXT: movl %fs:i4@TPOFF, %eax
-; X64_ISEL_LINUX-NEXT: retq
-;
; X86_WIN-LABEL: f7:
; X86_WIN: # %bb.0: # %entry
; X86_WIN-NEXT: movl __tls_index, %eax
@@ -377,8 +299,8 @@
; MINGW32-NEXT: retl
entry:
- %tmp1 = load i32, ptr @i4
- ret i32 %tmp1
+ %tmp1 = load i32, ptr @i4
+ ret i32 %tmp1
}
define dso_local ptr @f8() {
@@ -394,18 +316,6 @@
; X64_LINUX-NEXT: leaq i4@TPOFF(%rax), %rax
; X64_LINUX-NEXT: retq
;
-; X86_ISEL_LINUX-LABEL: f8:
-; X86_ISEL_LINUX: # %bb.0: # %entry
-; X86_ISEL_LINUX-NEXT: movl %gs:0, %eax
-; X86_ISEL_LINUX-NEXT: leal i4@NTPOFF(%eax), %eax
-; X86_ISEL_LINUX-NEXT: retl
-;
-; X64_ISEL_LINUX-LABEL: f8:
-; X64_ISEL_LINUX: # %bb.0: # %entry
-; X64_ISEL_LINUX-NEXT: movq %fs:0, %rax
-; X64_ISEL_LINUX-NEXT: leaq i4@TPOFF(%rax), %rax
-; X64_ISEL_LINUX-NEXT: retq
-;
; X86_WIN-LABEL: f8:
; X86_WIN: # %bb.0: # %entry
; X86_WIN-NEXT: movl __tls_index, %eax
@@ -431,7 +341,7 @@
; MINGW32-NEXT: retl
entry:
- ret ptr @i4
+ ret ptr @i4
}
define dso_local i32 @f9() {
@@ -445,16 +355,6 @@
; X64_LINUX-NEXT: movl %fs:i5@TPOFF, %eax
; X64_LINUX-NEXT: retq
;
-; X86_ISEL_LINUX-LABEL: f9:
-; X86_ISEL_LINUX: # %bb.0: # %entry
-; X86_ISEL_LINUX-NEXT: movl %gs:i5@NTPOFF, %eax
-; X86_ISEL_LINUX-NEXT: retl
-;
-; X64_ISEL_LINUX-LABEL: f9:
-; X64_ISEL_LINUX: # %bb.0: # %entry
-; X64_ISEL_LINUX-NEXT: movl %fs:i5@TPOFF, %eax
-; X64_ISEL_LINUX-NEXT: retq
-;
; X86_WIN-LABEL: f9:
; X86_WIN: # %bb.0: # %entry
; X86_WIN-NEXT: movl __tls_index, %eax
@@ -480,8 +380,8 @@
; MINGW32-NEXT: retl
entry:
- %tmp1 = load i32, ptr @i5
- ret i32 %tmp1
+ %tmp1 = load i32, ptr @i5
+ ret i32 %tmp1
}
define dso_local ptr @f10() {
@@ -497,18 +397,6 @@
; X64_LINUX-NEXT: leaq i5@TPOFF(%rax), %rax
; X64_LINUX-NEXT: retq
;
-; X86_ISEL_LINUX-LABEL: f10:
-; X86_ISEL_LINUX: # %bb.0: # %entry
-; X86_ISEL_LINUX-NEXT: movl %gs:0, %eax
-; X86_ISEL_LINUX-NEXT: leal i5@NTPOFF(%eax), %eax
-; X86_ISEL_LINUX-NEXT: retl
-;
-; X64_ISEL_LINUX-LABEL: f10:
-; X64_ISEL_LINUX: # %bb.0: # %entry
-; X64_ISEL_LINUX-NEXT: movq %fs:0, %rax
-; X64_ISEL_LINUX-NEXT: leaq i5@TPOFF(%rax), %rax
-; X64_ISEL_LINUX-NEXT: retq
-;
; X86_WIN-LABEL: f10:
; X86_WIN: # %bb.0: # %entry
; X86_WIN-NEXT: movl __tls_index, %eax
@@ -534,7 +422,7 @@
; MINGW32-NEXT: retl
entry:
- ret ptr @i5
+ ret ptr @i5
}
define i16 @f11() {
@@ -548,16 +436,6 @@
; X64_LINUX-NEXT: movzwl %fs:s1@TPOFF, %eax
; X64_LINUX-NEXT: retq
;
-; X86_ISEL_LINUX-LABEL: f11:
-; X86_ISEL_LINUX: # %bb.0: # %entry
-; X86_ISEL_LINUX-NEXT: movzwl %gs:s1@NTPOFF, %eax
-; X86_ISEL_LINUX-NEXT: retl
-;
-; X64_ISEL_LINUX-LABEL: f11:
-; X64_ISEL_LINUX: # %bb.0: # %entry
-; X64_ISEL_LINUX-NEXT: movzwl %fs:s1@TPOFF, %eax
-; X64_ISEL_LINUX-NEXT: retq
-;
; X86_WIN-LABEL: f11:
; X86_WIN: # %bb.0: # %entry
; X86_WIN-NEXT: movl __tls_index, %eax
@@ -583,8 +461,8 @@
; MINGW32-NEXT: retl
entry:
- %tmp1 = load i16, ptr @s1
- ret i16 %tmp1
+ %tmp1 = load i16, ptr @s1
+ ret i16 %tmp1
}
define dso_local i32 @f12() {
@@ -598,16 +476,6 @@
; X64_LINUX-NEXT: movswl %fs:s1@TPOFF, %eax
; X64_LINUX-NEXT: retq
;
-; X86_ISEL_LINUX-LABEL: f12:
-; X86_ISEL_LINUX: # %bb.0: # %entry
-; X86_ISEL_LINUX-NEXT: movswl %gs:s1@NTPOFF, %eax
-; X86_ISEL_LINUX-NEXT: retl
-;
-; X64_ISEL_LINUX-LABEL: f12:
-; X64_ISEL_LINUX: # %bb.0: # %entry
-; X64_ISEL_LINUX-NEXT: movswl %fs:s1@TPOFF, %eax
-; X64_ISEL_LINUX-NEXT: retq
-;
; X86_WIN-LABEL: f12:
; X86_WIN: # %bb.0: # %entry
; X86_WIN-NEXT: movl __tls_index, %eax
@@ -634,9 +502,9 @@
entry:
- %tmp1 = load i16, ptr @s1
+ %tmp1 = load i16, ptr @s1
%tmp2 = sext i16 %tmp1 to i32
- ret i32 %tmp2
+ ret i32 %tmp2
}
define dso_local i8 @f13() {
@@ -650,16 +518,6 @@
; X64_LINUX-NEXT: movzbl %fs:b1@TPOFF, %eax
; X64_LINUX-NEXT: retq
;
-; X86_ISEL_LINUX-LABEL: f13:
-; X86_ISEL_LINUX: # %bb.0: # %entry
-; X86_ISEL_LINUX-NEXT: movzbl %gs:b1@NTPOFF, %eax
-; X86_ISEL_LINUX-NEXT: retl
-;
-; X64_ISEL_LINUX-LABEL: f13:
-; X64_ISEL_LINUX: # %bb.0: # %entry
-; X64_ISEL_LINUX-NEXT: movzbl %fs:b1@TPOFF, %eax
-; X64_ISEL_LINUX-NEXT: retq
-;
; X86_WIN-LABEL: f13:
; X86_WIN: # %bb.0: # %entry
; X86_WIN-NEXT: movl __tls_index, %eax
@@ -685,8 +543,8 @@
; MINGW32-NEXT: retl
entry:
- %tmp1 = load i8, ptr @b1
- ret i8 %tmp1
+ %tmp1 = load i8, ptr @b1
+ ret i8 %tmp1
}
define dso_local i32 @f14() {
@@ -700,16 +558,6 @@
; X64_LINUX-NEXT: movsbl %fs:b1@TPOFF, %eax
; X64_LINUX-NEXT: retq
;
-; X86_ISEL_LINUX-LABEL: f14:
-; X86_ISEL_LINUX: # %bb.0: # %entry
-; X86_ISEL_LINUX-NEXT: movsbl %gs:b1@NTPOFF, %eax
-; X86_ISEL_LINUX-NEXT: retl
-;
-; X64_ISEL_LINUX-LABEL: f14:
-; X64_ISEL_LINUX: # %bb.0: # %entry
-; X64_ISEL_LINUX-NEXT: movsbl %fs:b1@TPOFF, %eax
-; X64_ISEL_LINUX-NEXT: retq
-;
; X86_WIN-LABEL: f14:
; X86_WIN: # %bb.0: # %entry
; X86_WIN-NEXT: movl __tls_index, %eax
@@ -735,9 +583,9 @@
; MINGW32-NEXT: retl
entry:
- %tmp1 = load i8, ptr @b1
+ %tmp1 = load i8, ptr @b1
%tmp2 = sext i8 %tmp1 to i32
- ret i32 %tmp2
+ ret i32 %tmp2
}
define dso_local ptr @f15() {
@@ -753,18 +601,6 @@
; X64_LINUX-NEXT: leaq b2@TPOFF(%rax), %rax
; X64_LINUX-NEXT: retq
;
-; X86_ISEL_LINUX-LABEL: f15:
-; X86_ISEL_LINUX: # %bb.0: # %entry
-; X86_ISEL_LINUX-NEXT: movl %gs:0, %eax
-; X86_ISEL_LINUX-NEXT: leal b2@NTPOFF(%eax), %eax
-; X86_ISEL_LINUX-NEXT: retl
-;
-; X64_ISEL_LINUX-LABEL: f15:
-; X64_ISEL_LINUX: # %bb.0: # %entry
-; X64_ISEL_LINUX-NEXT: movq %fs:0, %rax
-; X64_ISEL_LINUX-NEXT: leaq b2@TPOFF(%rax), %rax
-; X64_ISEL_LINUX-NEXT: retq
-;
; X86_WIN-LABEL: f15:
; X86_WIN: # %bb.0: # %entry
; X86_WIN-NEXT: movl %fs:__tls_array, %eax
@@ -786,7 +622,7 @@
; MINGW32-NEXT: leal _b2@SECREL32(%eax), %eax
; MINGW32-NEXT: retl
entry:
- ret ptr @b2
+ ret ptr @b2
}
@@ -803,18 +639,6 @@
; X64_LINUX-NEXT: leaq i6@TPOFF(%rax), %rax
; X64_LINUX-NEXT: retq
;
-; X86_ISEL_LINUX-LABEL: f16:
-; X86_ISEL_LINUX: # %bb.0:
-; X86_ISEL_LINUX-NEXT: movl %gs:0, %eax
-; X86_ISEL_LINUX-NEXT: leal i6@NTPOFF(%eax), %eax
-; X86_ISEL_LINUX-NEXT: retl
-;
-; X64_ISEL_LINUX-LABEL: f16:
-; X64_ISEL_LINUX: # %bb.0:
-; X64_ISEL_LINUX-NEXT: movq %fs:0, %rax
-; X64_ISEL_LINUX-NEXT: leaq i6@TPOFF(%rax), %rax
-; X64_ISEL_LINUX-NEXT: retq
-;
; X86_WIN-LABEL: f16:
; X86_WIN: # %bb.0:
; X86_WIN-NEXT: movl __tls_index, %eax
@@ -857,18 +681,6 @@
; X64_LINUX-NEXT: movl i1@TPOFF(%rax), %eax
; X64_LINUX-NEXT: retq
;
-; X86_ISEL_LINUX-LABEL: f17:
-; X86_ISEL_LINUX: # %bb.0: # %entry
-; X86_ISEL_LINUX-NEXT: movl %gs:0, %eax
-; X86_ISEL_LINUX-NEXT: movl i1@NTPOFF(%eax), %eax
-; X86_ISEL_LINUX-NEXT: retl
-;
-; X64_ISEL_LINUX-LABEL: f17:
-; X64_ISEL_LINUX: # %bb.0: # %entry
-; X64_ISEL_LINUX-NEXT: movq %fs:0, %rax
-; X64_ISEL_LINUX-NEXT: movl i1@TPOFF(%rax), %eax
-; X64_ISEL_LINUX-NEXT: retq
-;
; X86_WIN-LABEL: f17:
; X86_WIN: # %bb.0: # %entry
; X86_WIN-NEXT: movl __tls_index, %eax
@@ -894,8 +706,8 @@
; MINGW32-NEXT: retl
entry:
- %tmp1 = load i32, ptr @i1
- ret i32 %tmp1
+ %tmp1 = load i32, ptr @i1
+ ret i32 %tmp1
}
; NOTE: Similar to f3() but with direct TLS segment access disabled
@@ -914,20 +726,6 @@
; X64_LINUX-NEXT: movl (%rcx,%rax), %eax
; X64_LINUX-NEXT: retq
;
-; X86_ISEL_LINUX-LABEL: f18:
-; X86_ISEL_LINUX: # %bb.0: # %entry
-; X86_ISEL_LINUX-NEXT: movl i2@INDNTPOFF, %eax
-; X86_ISEL_LINUX-NEXT: movl %gs:0, %ecx
-; X86_ISEL_LINUX-NEXT: movl (%ecx,%eax), %eax
-; X86_ISEL_LINUX-NEXT: retl
-;
-; X64_ISEL_LINUX-LABEL: f18:
-; X64_ISEL_LINUX: # %bb.0: # %entry
-; X64_ISEL_LINUX-NEXT: movq i2@GOTTPOFF(%rip), %rax
-; X64_ISEL_LINUX-NEXT: movq %fs:0, %rcx
-; X64_ISEL_LINUX-NEXT: movl (%rcx,%rax), %eax
-; X64_ISEL_LINUX-NEXT: retq
-;
; X86_WIN-LABEL: f18:
; X86_WIN: # %bb.0: # %entry
; X86_WIN-NEXT: movl __tls_index, %eax
@@ -954,8 +752,8 @@
entry:
- %tmp1 = load i32, ptr @i2
- ret i32 %tmp1
+ %tmp1 = load i32, ptr @i2
+ ret i32 %tmp1
}
attributes #0 = { "indirect-tls-seg-refs" }