[llvm] 0937233 - X86: Test fixup/relocation with -filetype=obj
Fangrui Song via llvm-commits
llvm-commits at lists.llvm.org
Fri Jul 4 19:18:22 PDT 2025
Author: Fangrui Song
Date: 2025-07-04T19:18:17-07:00
New Revision: 09372335c51b6d96c7112de63a38645ae5422732
URL: https://github.com/llvm/llvm-project/commit/09372335c51b6d96c7112de63a38645ae5422732
DIFF: https://github.com/llvm/llvm-project/commit/09372335c51b6d96c7112de63a38645ae5422732.diff
LOG: X86: Test fixup/relocation with -filetype=obj
The fixup output is a debug aid and should not be used to test
target-specific relocation generation implementation. The llvm-mc
-filetype=obj output is what truly matters.
Add a "Relocations" directory, similar to other targets, to test fixups
and relocations.
Added:
llvm/test/MC/X86/Relocations/x86-16.s
llvm/test/MC/X86/Relocations/x86-32.s
llvm/test/MC/X86/Relocations/x86-64.s
Modified:
llvm/test/MC/X86/avx-64-att.s
llvm/test/MC/X86/fma4-att.s
llvm/test/MC/X86/x86-16.s
llvm/test/MC/X86/x86-32-coverage.s
llvm/test/MC/X86/x86-32.s
llvm/test/MC/X86/x86-64.s
llvm/test/MC/X86/x86_64-encoding.s
Removed:
################################################################################
diff --git a/llvm/test/MC/X86/Relocations/x86-16.s b/llvm/test/MC/X86/Relocations/x86-16.s
new file mode 100644
index 0000000000000..f8aaa6a9bf62f
--- /dev/null
+++ b/llvm/test/MC/X86/Relocations/x86-16.s
@@ -0,0 +1,13 @@
+# RUN: llvm-mc -filetype=obj -triple=i386-unknown-code16 %s -o %t
+# RUN: llvm-objdump -dr --triple=i386-unknown-code16 %t | FileCheck %s
+
+# CHECK: e9 03 00 jmp {{.*}} <foo>
+# CHECK-NEXT: e9 00 00 jmp {{.*}} <foo>
+# CHECK-LABEL: <foo>:
+# CHECK-NEXT: 0f 84 fc ff je {{.*}} <foo>
+# CHECK-NEXT: 0f 84 f8 ff je {{.*}} <foo>
+{disp32} jmp foo
+jmp.d32 foo
+foo:
+{disp32} je foo
+je.d32 foo
diff --git a/llvm/test/MC/X86/Relocations/x86-32.s b/llvm/test/MC/X86/Relocations/x86-32.s
new file mode 100644
index 0000000000000..f2b256517cca1
--- /dev/null
+++ b/llvm/test/MC/X86/Relocations/x86-32.s
@@ -0,0 +1,17 @@
+# RUN: llvm-mc -filetype=obj -triple=i686 %s -o %t
+# RUN: llvm-objdump -dr --no-addresses %t | sed 's/#.*//;/^ *$/d' | FileCheck %s
+
+# CHECK: e9 05 00 00 00 jmp {{.*}} <foo>
+# CHECK-NEXT: e9 00 00 00 00 jmp {{.*}} <foo>
+# CHECK-LABEL: <foo>:
+# CHECK-NEXT: 0f 84 fa ff ff ff je {{.*}} <foo>
+# CHECK-NEXT: 0f 84 f4 ff ff ff je {{.*}} <foo>
+{disp32} jmp foo
+jmp.d32 foo
+foo:
+{disp32} je foo
+je.d32 foo
+
+# CHECK-NEXT: c1 0b 0a rorl $0xa, (%ebx)
+# CHECK-NEXT: R_386_8 .text
+ rorl $foo, (%ebx)
diff --git a/llvm/test/MC/X86/Relocations/x86-64.s b/llvm/test/MC/X86/Relocations/x86-64.s
new file mode 100644
index 0000000000000..402e6ef9356a9
--- /dev/null
+++ b/llvm/test/MC/X86/Relocations/x86-64.s
@@ -0,0 +1,102 @@
+# RUN: llvm-mc -filetype=obj -triple=x86_64 %s -o %t
+# RUN: llvm-objdump -dr --no-addresses %t | sed 's/#.*//;/^ *$/d' | FileCheck %s
+
+# CHECK: 8b 05 00 00 00 00 movl (%rip), %eax
+# CHECK-NEXT: R_X86_64_PC32 foo-0x4
+# CHECK-NEXT: c6 05 00 00 00 00 0c movb $0xc, (%rip)
+# CHECK-NEXT: R_X86_64_PC32 foo-0x5
+# CHECK-NEXT: 66 c7 05 00 00 00 00 0c 00 movw $0xc, (%rip)
+# CHECK-NEXT: R_X86_64_PC32 foo-0x6
+# CHECK-NEXT: c7 05 00 00 00 00 0c 00 00 00 movl $0xc, (%rip)
+# CHECK-NEXT: R_X86_64_PC32 foo-0x8
+# CHECK-NEXT: 48 c7 05 00 00 00 00 0c 00 00 00 movq $0xc, (%rip)
+# CHECK-NEXT: R_X86_64_PC32 foo-0x8
+# CHECK-NEXT: 67 8b 05 00 00 00 00 movl (%eip), %eax
+# CHECK-NEXT: R_X86_64_PC32 foo-0x4
+# CHECK-NEXT: 67 c6 05 00 00 00 00 0c movb $0xc, (%eip)
+# CHECK-NEXT: R_X86_64_PC32 foo-0x5
+# CHECK-NEXT: 67 66 c7 05 00 00 00 00 0c 00 movw $0xc, (%eip)
+# CHECK-NEXT: R_X86_64_PC32 foo-0x6
+# CHECK-NEXT: 67 c7 05 00 00 00 00 0c 00 00 00 movl $0xc, (%eip)
+# CHECK-NEXT: R_X86_64_PC32 foo-0x8
+# CHECK-NEXT: 67 48 c7 05 00 00 00 00 0c 00 00 00 movq $0xc, (%eip)
+# CHECK-NEXT: R_X86_64_PC32 foo-0x8
+movl foo(%rip), %eax
+movb $12, foo(%rip)
+movw $12, foo(%rip)
+movl $12, foo(%rip)
+movq $12, foo(%rip)
+
+movl foo(%eip), %eax
+movb $12, foo(%eip)
+movw $12, foo(%eip)
+movl $12, foo(%eip)
+movq $12, foo(%eip)
+
+# CHECK-NEXT: 48 8b 05 00 00 00 00 movq (%rip), %rax
+# CHECK-NEXT: R_X86_64_REX_GOTPCRELX foo-0x4
+# CHECK-NEXT: 4c 8b 35 00 00 00 00 movq (%rip), %r14
+# CHECK-NEXT: R_X86_64_REX_GOTPCRELX foo-0x4
+# CHECK-NEXT: 67 48 8b 05 00 00 00 00 movq (%eip), %rax
+# CHECK-NEXT: R_X86_64_REX_GOTPCRELX foo-0x4
+# CHECK-NEXT: 67 4c 8b 35 00 00 00 00 movq (%eip), %r14
+# CHECK-NEXT: R_X86_64_REX_GOTPCRELX foo-0x4
+movq foo at GOTPCREL(%rip), %rax
+movq foo at GOTPCREL(%rip), %r14
+movq foo at GOTPCREL(%eip), %rax
+movq foo at GOTPCREL(%eip), %r14
+
+# CHECK-NEXT: 66 0f 38 00 0d 00 00 00 00 pshufb (%rip), %xmm1
+# CHECK-NEXT: R_X86_64_PC32 foo-0x4
+pshufb foo(%rip), %xmm1
+
+## PR15040
+# CHECK-NEXT: c4 e3 f9 6a 05 00 00 00 00 10 vfmaddss (%rip), %xmm1, %xmm0, %xmm0
+# CHECK-NEXT: R_X86_64_PC32 foo-0x5
+# CHECK-NEXT: c4 e3 79 6a 05 00 00 00 00 10 vfmaddss %xmm1, (%rip), %xmm0, %xmm0
+# CHECK-NEXT: R_X86_64_PC32 foo-0x5
+# CHECK-NEXT: c4 e3 f9 6b 05 00 00 00 00 10 vfmaddsd (%rip), %xmm1, %xmm0, %xmm0
+# CHECK-NEXT: R_X86_64_PC32 foo-0x5
+# CHECK-NEXT: c4 e3 79 6b 05 00 00 00 00 10 vfmaddsd %xmm1, (%rip), %xmm0, %xmm0
+# CHECK-NEXT: R_X86_64_PC32 foo-0x5
+# CHECK-NEXT: c4 e3 f9 68 05 00 00 00 00 10 vfmaddps (%rip), %xmm1, %xmm0, %xmm0
+# CHECK-NEXT: R_X86_64_PC32 foo-0x5
+# CHECK-NEXT: c4 e3 79 68 05 00 00 00 00 10 vfmaddps %xmm1, (%rip), %xmm0, %xmm0
+# CHECK-NEXT: R_X86_64_PC32 foo-0x5
+# CHECK-NEXT: c4 e3 f9 69 05 00 00 00 00 10 vfmaddpd (%rip), %xmm1, %xmm0, %xmm0
+# CHECK-NEXT: R_X86_64_PC32 foo-0x5
+# CHECK-NEXT: c4 e3 79 69 05 00 00 00 00 10 vfmaddpd %xmm1, (%rip), %xmm0, %xmm0
+# CHECK-NEXT: R_X86_64_PC32 foo-0x5
+# CHECK-NEXT: c4 e3 fd 68 05 00 00 00 00 10 vfmaddps (%rip), %ymm1, %ymm0, %ymm0
+# CHECK-NEXT: R_X86_64_PC32 foo-0x5
+# CHECK-NEXT: c4 e3 7d 68 05 00 00 00 00 10 vfmaddps %ymm1, (%rip), %ymm0, %ymm0
+# CHECK-NEXT: R_X86_64_PC32 foo-0x5
+# CHECK-NEXT: c4 e3 fd 69 05 00 00 00 00 10 vfmaddpd (%rip), %ymm1, %ymm0, %ymm0
+# CHECK-NEXT: R_X86_64_PC32 foo-0x5
+# CHECK-NEXT: c4 e3 7d 69 05 00 00 00 00 10 vfmaddpd %ymm1, (%rip), %ymm0, %ymm0
+# CHECK-NEXT: R_X86_64_PC32 foo-0x5
+vfmaddss foo(%rip), %xmm1, %xmm0, %xmm0
+vfmaddss %xmm1, foo(%rip),%xmm0, %xmm0
+vfmaddsd foo(%rip), %xmm1, %xmm0, %xmm0
+vfmaddsd %xmm1, foo(%rip),%xmm0, %xmm0
+vfmaddps foo(%rip), %xmm1, %xmm0, %xmm0
+vfmaddps %xmm1, foo(%rip),%xmm0, %xmm0
+vfmaddpd foo(%rip), %xmm1, %xmm0, %xmm0
+vfmaddpd %xmm1, foo(%rip),%xmm0, %xmm0
+vfmaddps foo(%rip), %ymm1, %ymm0, %ymm0
+vfmaddps %ymm1, foo(%rip),%ymm0, %ymm0
+vfmaddpd foo(%rip), %ymm1, %ymm0, %ymm0
+vfmaddpd %ymm1, foo(%rip),%ymm0, %ymm0
+
+# CHECK-NEXT:<l1>:
+# CHECK-NEXT: 90 nop
+# CHECK-NEXT: c4 e2 79 00 05 f6 ff ff ff vpshufb -0xa(%rip), %xmm0, %xmm0
+# CHECK-NEXT:<l2>:
+# CHECK-NEXT: 90 nop
+# CHECK-NEXT: c4 e3 7d 4a 05 f5 ff ff ff 10 vblendvps %ymm1, -0xb(%rip), %ymm0, %ymm0
+l1:
+ nop
+ vpshufb l1(%rip), %xmm0, %xmm0
+l2:
+ nop
+ vblendvps %ymm1, l2(%rip), %ymm0, %ymm0
diff --git a/llvm/test/MC/X86/avx-64-att.s b/llvm/test/MC/X86/avx-64-att.s
index 39ee048c3736d..f29142549bf52 100644
--- a/llvm/test/MC/X86/avx-64-att.s
+++ b/llvm/test/MC/X86/avx-64-att.s
@@ -4116,19 +4116,6 @@ vdivpd -4(%rcx,%rbx,8), %xmm10, %xmm11
// CHECK: encoding: [0xc4,0xa1,0x78,0x29,0x1c,0x18]
vmovaps %xmm3, (%rax,%r11)
-// CHECK: vpshufb _foo(%rip), %xmm0, %xmm0
-// CHECK: encoding: [0xc4,0xe2,0x79,0x00,0x05,A,A,A,A]
-// CHECK: kind: reloc_riprel_4byte
-_foo:
- nop
- vpshufb _foo(%rip), %xmm0, %xmm0
-
-// CHECK: vblendvps %ymm1, _foo2(%rip), %ymm0, %ymm0
-// CHECK: encoding: [0xc4,0xe3,0x7d,0x4a,0x05,A,A,A,A,0x10]
-// CHECK: fixup A - offset: 5, value: _foo2-5
-_foo2:
- nop
- vblendvps %ymm1, _foo2(%rip), %ymm0, %ymm0
// CHECK: vgatherdpd %xmm0, (%rdi,%xmm1,2), %xmm2
// CHECK: encoding: [0xc4,0xe2,0xf9,0x92,0x14,0x4f]
diff --git a/llvm/test/MC/X86/fma4-att.s b/llvm/test/MC/X86/fma4-att.s
index c9bd954e90496..bdd45ad1717da 100644
--- a/llvm/test/MC/X86/fma4-att.s
+++ b/llvm/test/MC/X86/fma4-att.s
@@ -77,66 +77,6 @@
// CHECK: encoding: [0xc4,0xe3,0xfd,0x69,0xc2,0x10]
vfmaddpd %ymm2, %ymm1, %ymm0, %ymm0
-// PR15040
-// CHECK: vfmaddss foo(%rip), %xmm1, %xmm0, %xmm0
-// CHECK: encoding: [0xc4,0xe3,0xf9,0x6a,0x05,A,A,A,A,0x10]
-// CHECK: fixup A - offset: 5, value: foo-5, kind: reloc_riprel_4byte
- vfmaddss foo(%rip), %xmm1, %xmm0, %xmm0
-
-// CHECK: vfmaddss %xmm1, foo(%rip), %xmm0, %xmm0
-// CHECK: encoding: [0xc4,0xe3,0x79,0x6a,0x05,A,A,A,A,0x10]
-// CHECK: fixup A - offset: 5, value: foo-5, kind: reloc_riprel_4byte
- vfmaddss %xmm1, foo(%rip),%xmm0, %xmm0
-
-// CHECK: vfmaddsd foo(%rip), %xmm1, %xmm0, %xmm0
-// CHECK: encoding: [0xc4,0xe3,0xf9,0x6b,0x05,A,A,A,A,0x10]
-// CHECK: fixup A - offset: 5, value: foo-5, kind: reloc_riprel_4byte
- vfmaddsd foo(%rip), %xmm1, %xmm0, %xmm0
-
-// CHECK: vfmaddsd %xmm1, foo(%rip), %xmm0, %xmm0
-// CHECK: encoding: [0xc4,0xe3,0x79,0x6b,0x05,A,A,A,A,0x10]
-// CHECK: fixup A - offset: 5, value: foo-5, kind: reloc_riprel_4byte
- vfmaddsd %xmm1, foo(%rip),%xmm0, %xmm0
-
-// CHECK: vfmaddps foo(%rip), %xmm1, %xmm0, %xmm0
-// CHECK: encoding: [0xc4,0xe3,0xf9,0x68,0x05,A,A,A,A,0x10]
-// CHECK: fixup A - offset: 5, value: foo-5, kind: reloc_riprel_4byte
- vfmaddps foo(%rip), %xmm1, %xmm0, %xmm0
-
-// CHECK: vfmaddps %xmm1, foo(%rip), %xmm0, %xmm0
-// CHECK: encoding: [0xc4,0xe3,0x79,0x68,0x05,A,A,A,A,0x10]
-// CHECK: fixup A - offset: 5, value: foo-5, kind: reloc_riprel_4byte
- vfmaddps %xmm1, foo(%rip),%xmm0, %xmm0
-
-// CHECK: vfmaddpd foo(%rip), %xmm1, %xmm0, %xmm0
-// CHECK: encoding: [0xc4,0xe3,0xf9,0x69,0x05,A,A,A,A,0x10]
-// CHECK: fixup A - offset: 5, value: foo-5, kind: reloc_riprel_4byte
- vfmaddpd foo(%rip), %xmm1, %xmm0, %xmm0
-
-// CHECK: vfmaddpd %xmm1, foo(%rip), %xmm0, %xmm0
-// CHECK: encoding: [0xc4,0xe3,0x79,0x69,0x05,A,A,A,A,0x10]
-// CHECK: fixup A - offset: 5, value: foo-5, kind: reloc_riprel_4byte
- vfmaddpd %xmm1, foo(%rip),%xmm0, %xmm0
-
-// CHECK: vfmaddps foo(%rip), %ymm1, %ymm0, %ymm0
-// CHECK: encoding: [0xc4,0xe3,0xfd,0x68,0x05,A,A,A,A,0x10]
-// CHECK: fixup A - offset: 5, value: foo-5, kind: reloc_riprel_4byte
- vfmaddps foo(%rip), %ymm1, %ymm0, %ymm0
-
-// CHECK: vfmaddps %ymm1, foo(%rip), %ymm0, %ymm0
-// CHECK: encoding: [0xc4,0xe3,0x7d,0x68,0x05,A,A,A,A,0x10]
-// CHECK: fixup A - offset: 5, value: foo-5, kind: reloc_riprel_4byte
- vfmaddps %ymm1, foo(%rip),%ymm0, %ymm0
-
-// CHECK: vfmaddpd foo(%rip), %ymm1, %ymm0, %ymm0
-// CHECK: encoding: [0xc4,0xe3,0xfd,0x69,0x05,A,A,A,A,0x10]
-// CHECK: fixup A - offset: 5, value: foo-5, kind: reloc_riprel_4byte
- vfmaddpd foo(%rip), %ymm1, %ymm0, %ymm0
-
-// CHECK: vfmaddpd %ymm1, foo(%rip), %ymm0, %ymm0
-// CHECK: encoding: [0xc4,0xe3,0x7d,0x69,0x05,A,A,A,A,0x10]
-// CHECK: fixup A - offset: 5, value: foo-5, kind: reloc_riprel_4byte
- vfmaddpd %ymm1, foo(%rip),%ymm0, %ymm0
// vfmsub
// CHECK: vfmsubss (%rcx), %xmm1, %xmm0, %xmm0
diff --git a/llvm/test/MC/X86/x86-16.s b/llvm/test/MC/X86/x86-16.s
index be0563e5b1d63..b0a4bda56fcbf 100644
--- a/llvm/test/MC/X86/x86-16.s
+++ b/llvm/test/MC/X86/x86-16.s
@@ -1056,17 +1056,6 @@ xsusldtrk
// CHECK: encoding: [0xf2,0x0f,0x01,0xe9]
xresldtrk
-// CHECK: jmp foo
-// CHECK: encoding: [0xe9,A,A]
-// CHECK: fixup A - offset: 1, value: foo-2, kind: FK_PCRel_2
-{disp32} jmp foo
-foo:
-
-// CHECK: je foo
-// CHECK: encoding: [0x0f,0x84,A,A]
-// CHECK: fixup A - offset: 2, value: foo-2, kind: FK_PCRel_2
-{disp32} je foo
-
// CHECK: movl nearer, %ebx
// CHECK: encoding: [0x66,0x8b,0x1e,A,A]
// CHECK: fixup A - offset: 3, value: nearer, kind: FK_Data_2
diff --git a/llvm/test/MC/X86/x86-32-coverage.s b/llvm/test/MC/X86/x86-32-coverage.s
index 5475946a9d216..d585b4bc0e953 100644
--- a/llvm/test/MC/X86/x86-32-coverage.s
+++ b/llvm/test/MC/X86/x86-32-coverage.s
@@ -1421,12 +1421,6 @@
// CHECK: encoding: [0xd1,0x0d,0x78,0x56,0x34,0x12]
rorl 0x12345678
-// CHECK: rorl $foo, (%ebx)
-// INTEL: ror dword ptr [ebx], foo
-// CHECK: encoding: [0xc1,0x0b,A]
-// CHECK: fixup A - offset: 2, value: foo, kind: FK_Data_1
- rorl $foo, (%ebx)
-
// CHECK: shll $0, 3735928559(%ebx,%ecx,8)
// CHECK: encoding: [0xc1,0xa4,0xcb,0xef,0xbe,0xad,0xde,0x00]
sall $0,0xdeadbeef(%ebx,%ecx,8)
diff --git a/llvm/test/MC/X86/x86-32.s b/llvm/test/MC/X86/x86-32.s
index e3d473a05e59d..8bfcf82c0cf75 100644
--- a/llvm/test/MC/X86/x86-32.s
+++ b/llvm/test/MC/X86/x86-32.s
@@ -1,3 +1,4 @@
+/// See Relocations/x86-32.s for fixup/relocation tests.
// RUN: llvm-mc -triple i386-unknown-unknown --show-encoding %s | FileCheck %s
pause
@@ -1118,25 +1119,6 @@ ptwritel 0xdeadbeef(%ebx,%ecx,8)
// CHECK: encoding: [0xf3,0x0f,0xae,0xe0]
ptwritel %eax
-// CHECK: jmp foo
-// CHECK: encoding: [0xe9,A,A,A,A]
-// CHECK: fixup A - offset: 1, value: foo-4, kind: FK_PCRel_4
-// CHECK: jmp foo
-// CHECK: encoding: [0xe9,A,A,A,A]
-// CHECK: fixup A - offset: 1, value: foo-4, kind: FK_PCRel_4
-{disp32} jmp foo
-jmp.d32 foo
-foo:
-
-// CHECK: je foo
-// CHECK: encoding: [0x0f,0x84,A,A,A,A]
-// CHECK: fixup A - offset: 2, value: foo-4, kind: FK_PCRel_4
-// CHECK: je foo
-// CHECK: encoding: [0x0f,0x84,A,A,A,A]
-// CHECK: fixup A - offset: 2, value: foo-4, kind: FK_PCRel_4
-{disp32} je foo
-je.d32 foo
-
// CHECK: ljmpl *%cs:305419896
// CHECK: encoding: [0x2e,0xff,0x2d,0x78,0x56,0x34,0x12]
ljmp %cs:*0x12345678
diff --git a/llvm/test/MC/X86/x86-64.s b/llvm/test/MC/X86/x86-64.s
index 108d1220107e3..911f4674bd2cc 100644
--- a/llvm/test/MC/X86/x86-64.s
+++ b/llvm/test/MC/X86/x86-64.s
@@ -1,3 +1,4 @@
+/// See Relocations/x86-64.s for fixup/relocation tests.
// RUN: llvm-mc -triple x86_64-unknown-unknown -show-encoding %s > %t 2> %t.err
// RUN: FileCheck < %t %s
// RUN: FileCheck --check-prefix=CHECK-STDERR < %t.err %s
@@ -597,86 +598,15 @@ fdivp %st, %st(1) // CHECK: encoding: [0xde,0xf1]
fdivp %st(1), %st // CHECK: encoding: [0xde,0xf1]
-movl foo(%rip), %eax
-// CHECK: movl foo(%rip), %eax
-// CHECK: encoding: [0x8b,0x05,A,A,A,A]
-// CHECK: fixup A - offset: 2, value: foo-4, kind: reloc_riprel_4byte
-
-movb $12, foo(%rip)
-// CHECK: movb $12, foo(%rip)
-// CHECK: encoding: [0xc6,0x05,A,A,A,A,0x0c]
-// CHECK: fixup A - offset: 2, value: foo-5, kind: reloc_riprel_4byte
-
-movw $12, foo(%rip)
-// CHECK: movw $12, foo(%rip)
-// CHECK: encoding: [0x66,0xc7,0x05,A,A,A,A,0x0c,0x00]
-// CHECK: fixup A - offset: 3, value: foo-6, kind: reloc_riprel_4byte
-
-movl $12, foo(%rip)
-// CHECK: movl $12, foo(%rip)
-// CHECK: encoding: [0xc7,0x05,A,A,A,A,0x0c,0x00,0x00,0x00]
-// CHECK: fixup A - offset: 2, value: foo-8, kind: reloc_riprel_4byte
-
// rdar://37247000
movl $12, 1024(%rip)
// CHECK: movl $12, 1024(%rip)
// CHECK: encoding: [0xc7,0x05,0x00,0x04,0x00,0x00,0x0c,0x00,0x00,0x00]
-movq $12, foo(%rip)
-// CHECK: movq $12, foo(%rip)
-// CHECK: encoding: [0x48,0xc7,0x05,A,A,A,A,0x0c,0x00,0x00,0x00]
-// CHECK: fixup A - offset: 3, value: foo-8, kind: reloc_riprel_4byte
-
-movl foo(%eip), %eax
-// CHECK: movl foo(%eip), %eax
-// CHECK: encoding: [0x67,0x8b,0x05,A,A,A,A]
-// CHECK: fixup A - offset: 3, value: foo-4, kind: reloc_riprel_4byte
-
-movb $12, foo(%eip)
-// CHECK: movb $12, foo(%eip)
-// CHECK: encoding: [0x67,0xc6,0x05,A,A,A,A,0x0c]
-// CHECK: fixup A - offset: 3, value: foo-5, kind: reloc_riprel_4byte
-
-movw $12, foo(%eip)
-// CHECK: movw $12, foo(%eip)
-// CHECK: encoding: [0x67,0x66,0xc7,0x05,A,A,A,A,0x0c,0x00]
-// CHECK: fixup A - offset: 4, value: foo-6, kind: reloc_riprel_4byte
-
-movl $12, foo(%eip)
-// CHECK: movl $12, foo(%eip)
-// CHECK: encoding: [0x67,0xc7,0x05,A,A,A,A,0x0c,0x00,0x00,0x00]
-// CHECK: fixup A - offset: 3, value: foo-8, kind: reloc_riprel_4byte
-
-movq $12, foo(%eip)
-// CHECK: movq $12, foo(%eip)
-// CHECK: encoding: [0x67,0x48,0xc7,0x05,A,A,A,A,0x0c,0x00,0x00,0x00]
-// CHECK: fixup A - offset: 4, value: foo-8, kind: reloc_riprel_4byte
-
// CHECK: addq $-424, %rax
// CHECK: encoding: [0x48,0x05,0x58,0xfe,0xff,0xff]
addq $-424, %rax
-
-// CHECK: movq _foo at GOTPCREL(%rip), %rax
-// CHECK: encoding: [0x48,0x8b,0x05,A,A,A,A]
-// CHECK: fixup A - offset: 3, value: _foo at GOTPCREL-4, kind: reloc_riprel_4byte_movq_load
-movq _foo at GOTPCREL(%rip), %rax
-
-// CHECK: movq _foo at GOTPCREL(%rip), %r14
-// CHECK: encoding: [0x4c,0x8b,0x35,A,A,A,A]
-// CHECK: fixup A - offset: 3, value: _foo at GOTPCREL-4, kind: reloc_riprel_4byte_movq_load
-movq _foo at GOTPCREL(%rip), %r14
-
-// CHECK: movq _foo at GOTPCREL(%eip), %rax
-// CHECK: encoding: [0x67,0x48,0x8b,0x05,A,A,A,A]
-// CHECK: fixup A - offset: 4, value: _foo at GOTPCREL-4, kind: reloc_riprel_4byte_movq_load
-movq _foo at GOTPCREL(%eip), %rax
-
-// CHECK: movq _foo at GOTPCREL(%eip), %r14
-// CHECK: encoding: [0x67,0x4c,0x8b,0x35,A,A,A,A]
-// CHECK: fixup A - offset: 4, value: _foo at GOTPCREL-4, kind: reloc_riprel_4byte_movq_load
-movq _foo at GOTPCREL(%eip), %r14
-
// CHECK: movq (%r13,%rax,8), %r13
// CHECK: encoding: [0x4d,0x8b,0x6c,0xc5,0x00]
movq 0x00(%r13,%rax,8),%r13
diff --git a/llvm/test/MC/X86/x86_64-encoding.s b/llvm/test/MC/X86/x86_64-encoding.s
index 247b1dc656bc1..557687e9f6f8f 100644
--- a/llvm/test/MC/X86/x86_64-encoding.s
+++ b/llvm/test/MC/X86/x86_64-encoding.s
@@ -133,12 +133,6 @@ movq %mm1, %r8
// CHECK: encoding: [0x48,0x0f,0x7e,0xca]
movq %mm1, %rdx
-// rdar://7840289
-// CHECK: pshufb CPI1_0(%rip), %xmm1
-// CHECK: encoding: [0x66,0x0f,0x38,0x00,0x0d,A,A,A,A]
-// CHECK: fixup A - offset: 5, value: CPI1_0-4
-pshufb CPI1_0(%rip), %xmm1
-
// CHECK: sha1rnds4 $1, %xmm1, %xmm2
// CHECK: encoding: [0x0f,0x3a,0xcc,0xd1,0x01]
sha1rnds4 $1, %xmm1, %xmm2
More information about the llvm-commits
mailing list