[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