Skip to content

Commit 0937233

Browse files
committed
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.
1 parent 3e2e99b commit 0937233

File tree

10 files changed

+134
-186
lines changed

10 files changed

+134
-186
lines changed

llvm/test/MC/X86/Relocations/x86-16.s

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# RUN: llvm-mc -filetype=obj -triple=i386-unknown-code16 %s -o %t
2+
# RUN: llvm-objdump -dr --triple=i386-unknown-code16 %t | FileCheck %s
3+
4+
# CHECK: e9 03 00 jmp {{.*}} <foo>
5+
# CHECK-NEXT: e9 00 00 jmp {{.*}} <foo>
6+
# CHECK-LABEL: <foo>:
7+
# CHECK-NEXT: 0f 84 fc ff je {{.*}} <foo>
8+
# CHECK-NEXT: 0f 84 f8 ff je {{.*}} <foo>
9+
{disp32} jmp foo
10+
jmp.d32 foo
11+
foo:
12+
{disp32} je foo
13+
je.d32 foo

llvm/test/MC/X86/Relocations/x86-32.s

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# RUN: llvm-mc -filetype=obj -triple=i686 %s -o %t
2+
# RUN: llvm-objdump -dr --no-addresses %t | sed 's/#.*//;/^ *$/d' | FileCheck %s
3+
4+
# CHECK: e9 05 00 00 00 jmp {{.*}} <foo>
5+
# CHECK-NEXT: e9 00 00 00 00 jmp {{.*}} <foo>
6+
# CHECK-LABEL: <foo>:
7+
# CHECK-NEXT: 0f 84 fa ff ff ff je {{.*}} <foo>
8+
# CHECK-NEXT: 0f 84 f4 ff ff ff je {{.*}} <foo>
9+
{disp32} jmp foo
10+
jmp.d32 foo
11+
foo:
12+
{disp32} je foo
13+
je.d32 foo
14+
15+
# CHECK-NEXT: c1 0b 0a rorl $0xa, (%ebx)
16+
# CHECK-NEXT: R_386_8 .text
17+
rorl $foo, (%ebx)

llvm/test/MC/X86/Relocations/x86-64.s

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
# RUN: llvm-mc -filetype=obj -triple=x86_64 %s -o %t
2+
# RUN: llvm-objdump -dr --no-addresses %t | sed 's/#.*//;/^ *$/d' | FileCheck %s
3+
4+
# CHECK: 8b 05 00 00 00 00 movl (%rip), %eax
5+
# CHECK-NEXT: R_X86_64_PC32 foo-0x4
6+
# CHECK-NEXT: c6 05 00 00 00 00 0c movb $0xc, (%rip)
7+
# CHECK-NEXT: R_X86_64_PC32 foo-0x5
8+
# CHECK-NEXT: 66 c7 05 00 00 00 00 0c 00 movw $0xc, (%rip)
9+
# CHECK-NEXT: R_X86_64_PC32 foo-0x6
10+
# CHECK-NEXT: c7 05 00 00 00 00 0c 00 00 00 movl $0xc, (%rip)
11+
# CHECK-NEXT: R_X86_64_PC32 foo-0x8
12+
# CHECK-NEXT: 48 c7 05 00 00 00 00 0c 00 00 00 movq $0xc, (%rip)
13+
# CHECK-NEXT: R_X86_64_PC32 foo-0x8
14+
# CHECK-NEXT: 67 8b 05 00 00 00 00 movl (%eip), %eax
15+
# CHECK-NEXT: R_X86_64_PC32 foo-0x4
16+
# CHECK-NEXT: 67 c6 05 00 00 00 00 0c movb $0xc, (%eip)
17+
# CHECK-NEXT: R_X86_64_PC32 foo-0x5
18+
# CHECK-NEXT: 67 66 c7 05 00 00 00 00 0c 00 movw $0xc, (%eip)
19+
# CHECK-NEXT: R_X86_64_PC32 foo-0x6
20+
# CHECK-NEXT: 67 c7 05 00 00 00 00 0c 00 00 00 movl $0xc, (%eip)
21+
# CHECK-NEXT: R_X86_64_PC32 foo-0x8
22+
# CHECK-NEXT: 67 48 c7 05 00 00 00 00 0c 00 00 00 movq $0xc, (%eip)
23+
# CHECK-NEXT: R_X86_64_PC32 foo-0x8
24+
movl foo(%rip), %eax
25+
movb $12, foo(%rip)
26+
movw $12, foo(%rip)
27+
movl $12, foo(%rip)
28+
movq $12, foo(%rip)
29+
30+
movl foo(%eip), %eax
31+
movb $12, foo(%eip)
32+
movw $12, foo(%eip)
33+
movl $12, foo(%eip)
34+
movq $12, foo(%eip)
35+
36+
# CHECK-NEXT: 48 8b 05 00 00 00 00 movq (%rip), %rax
37+
# CHECK-NEXT: R_X86_64_REX_GOTPCRELX foo-0x4
38+
# CHECK-NEXT: 4c 8b 35 00 00 00 00 movq (%rip), %r14
39+
# CHECK-NEXT: R_X86_64_REX_GOTPCRELX foo-0x4
40+
# CHECK-NEXT: 67 48 8b 05 00 00 00 00 movq (%eip), %rax
41+
# CHECK-NEXT: R_X86_64_REX_GOTPCRELX foo-0x4
42+
# CHECK-NEXT: 67 4c 8b 35 00 00 00 00 movq (%eip), %r14
43+
# CHECK-NEXT: R_X86_64_REX_GOTPCRELX foo-0x4
44+
movq foo@GOTPCREL(%rip), %rax
45+
movq foo@GOTPCREL(%rip), %r14
46+
movq foo@GOTPCREL(%eip), %rax
47+
movq foo@GOTPCREL(%eip), %r14
48+
49+
# CHECK-NEXT: 66 0f 38 00 0d 00 00 00 00 pshufb (%rip), %xmm1
50+
# CHECK-NEXT: R_X86_64_PC32 foo-0x4
51+
pshufb foo(%rip), %xmm1
52+
53+
## PR15040
54+
# CHECK-NEXT: c4 e3 f9 6a 05 00 00 00 00 10 vfmaddss (%rip), %xmm1, %xmm0, %xmm0
55+
# CHECK-NEXT: R_X86_64_PC32 foo-0x5
56+
# CHECK-NEXT: c4 e3 79 6a 05 00 00 00 00 10 vfmaddss %xmm1, (%rip), %xmm0, %xmm0
57+
# CHECK-NEXT: R_X86_64_PC32 foo-0x5
58+
# CHECK-NEXT: c4 e3 f9 6b 05 00 00 00 00 10 vfmaddsd (%rip), %xmm1, %xmm0, %xmm0
59+
# CHECK-NEXT: R_X86_64_PC32 foo-0x5
60+
# CHECK-NEXT: c4 e3 79 6b 05 00 00 00 00 10 vfmaddsd %xmm1, (%rip), %xmm0, %xmm0
61+
# CHECK-NEXT: R_X86_64_PC32 foo-0x5
62+
# CHECK-NEXT: c4 e3 f9 68 05 00 00 00 00 10 vfmaddps (%rip), %xmm1, %xmm0, %xmm0
63+
# CHECK-NEXT: R_X86_64_PC32 foo-0x5
64+
# CHECK-NEXT: c4 e3 79 68 05 00 00 00 00 10 vfmaddps %xmm1, (%rip), %xmm0, %xmm0
65+
# CHECK-NEXT: R_X86_64_PC32 foo-0x5
66+
# CHECK-NEXT: c4 e3 f9 69 05 00 00 00 00 10 vfmaddpd (%rip), %xmm1, %xmm0, %xmm0
67+
# CHECK-NEXT: R_X86_64_PC32 foo-0x5
68+
# CHECK-NEXT: c4 e3 79 69 05 00 00 00 00 10 vfmaddpd %xmm1, (%rip), %xmm0, %xmm0
69+
# CHECK-NEXT: R_X86_64_PC32 foo-0x5
70+
# CHECK-NEXT: c4 e3 fd 68 05 00 00 00 00 10 vfmaddps (%rip), %ymm1, %ymm0, %ymm0
71+
# CHECK-NEXT: R_X86_64_PC32 foo-0x5
72+
# CHECK-NEXT: c4 e3 7d 68 05 00 00 00 00 10 vfmaddps %ymm1, (%rip), %ymm0, %ymm0
73+
# CHECK-NEXT: R_X86_64_PC32 foo-0x5
74+
# CHECK-NEXT: c4 e3 fd 69 05 00 00 00 00 10 vfmaddpd (%rip), %ymm1, %ymm0, %ymm0
75+
# CHECK-NEXT: R_X86_64_PC32 foo-0x5
76+
# CHECK-NEXT: c4 e3 7d 69 05 00 00 00 00 10 vfmaddpd %ymm1, (%rip), %ymm0, %ymm0
77+
# CHECK-NEXT: R_X86_64_PC32 foo-0x5
78+
vfmaddss foo(%rip), %xmm1, %xmm0, %xmm0
79+
vfmaddss %xmm1, foo(%rip),%xmm0, %xmm0
80+
vfmaddsd foo(%rip), %xmm1, %xmm0, %xmm0
81+
vfmaddsd %xmm1, foo(%rip),%xmm0, %xmm0
82+
vfmaddps foo(%rip), %xmm1, %xmm0, %xmm0
83+
vfmaddps %xmm1, foo(%rip),%xmm0, %xmm0
84+
vfmaddpd foo(%rip), %xmm1, %xmm0, %xmm0
85+
vfmaddpd %xmm1, foo(%rip),%xmm0, %xmm0
86+
vfmaddps foo(%rip), %ymm1, %ymm0, %ymm0
87+
vfmaddps %ymm1, foo(%rip),%ymm0, %ymm0
88+
vfmaddpd foo(%rip), %ymm1, %ymm0, %ymm0
89+
vfmaddpd %ymm1, foo(%rip),%ymm0, %ymm0
90+
91+
# CHECK-NEXT:<l1>:
92+
# CHECK-NEXT: 90 nop
93+
# CHECK-NEXT: c4 e2 79 00 05 f6 ff ff ff vpshufb -0xa(%rip), %xmm0, %xmm0
94+
# CHECK-NEXT:<l2>:
95+
# CHECK-NEXT: 90 nop
96+
# CHECK-NEXT: c4 e3 7d 4a 05 f5 ff ff ff 10 vblendvps %ymm1, -0xb(%rip), %ymm0, %ymm0
97+
l1:
98+
nop
99+
vpshufb l1(%rip), %xmm0, %xmm0
100+
l2:
101+
nop
102+
vblendvps %ymm1, l2(%rip), %ymm0, %ymm0

llvm/test/MC/X86/avx-64-att.s

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4116,19 +4116,6 @@ vdivpd -4(%rcx,%rbx,8), %xmm10, %xmm11
41164116
// CHECK: encoding: [0xc4,0xa1,0x78,0x29,0x1c,0x18]
41174117
vmovaps %xmm3, (%rax,%r11)
41184118

4119-
// CHECK: vpshufb _foo(%rip), %xmm0, %xmm0
4120-
// CHECK: encoding: [0xc4,0xe2,0x79,0x00,0x05,A,A,A,A]
4121-
// CHECK: kind: reloc_riprel_4byte
4122-
_foo:
4123-
nop
4124-
vpshufb _foo(%rip), %xmm0, %xmm0
4125-
4126-
// CHECK: vblendvps %ymm1, _foo2(%rip), %ymm0, %ymm0
4127-
// CHECK: encoding: [0xc4,0xe3,0x7d,0x4a,0x05,A,A,A,A,0x10]
4128-
// CHECK: fixup A - offset: 5, value: _foo2-5
4129-
_foo2:
4130-
nop
4131-
vblendvps %ymm1, _foo2(%rip), %ymm0, %ymm0
41324119

41334120
// CHECK: vgatherdpd %xmm0, (%rdi,%xmm1,2), %xmm2
41344121
// CHECK: encoding: [0xc4,0xe2,0xf9,0x92,0x14,0x4f]

llvm/test/MC/X86/fma4-att.s

Lines changed: 0 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -77,66 +77,6 @@
7777
// CHECK: encoding: [0xc4,0xe3,0xfd,0x69,0xc2,0x10]
7878
vfmaddpd %ymm2, %ymm1, %ymm0, %ymm0
7979

80-
// PR15040
81-
// CHECK: vfmaddss foo(%rip), %xmm1, %xmm0, %xmm0
82-
// CHECK: encoding: [0xc4,0xe3,0xf9,0x6a,0x05,A,A,A,A,0x10]
83-
// CHECK: fixup A - offset: 5, value: foo-5, kind: reloc_riprel_4byte
84-
vfmaddss foo(%rip), %xmm1, %xmm0, %xmm0
85-
86-
// CHECK: vfmaddss %xmm1, foo(%rip), %xmm0, %xmm0
87-
// CHECK: encoding: [0xc4,0xe3,0x79,0x6a,0x05,A,A,A,A,0x10]
88-
// CHECK: fixup A - offset: 5, value: foo-5, kind: reloc_riprel_4byte
89-
vfmaddss %xmm1, foo(%rip),%xmm0, %xmm0
90-
91-
// CHECK: vfmaddsd foo(%rip), %xmm1, %xmm0, %xmm0
92-
// CHECK: encoding: [0xc4,0xe3,0xf9,0x6b,0x05,A,A,A,A,0x10]
93-
// CHECK: fixup A - offset: 5, value: foo-5, kind: reloc_riprel_4byte
94-
vfmaddsd foo(%rip), %xmm1, %xmm0, %xmm0
95-
96-
// CHECK: vfmaddsd %xmm1, foo(%rip), %xmm0, %xmm0
97-
// CHECK: encoding: [0xc4,0xe3,0x79,0x6b,0x05,A,A,A,A,0x10]
98-
// CHECK: fixup A - offset: 5, value: foo-5, kind: reloc_riprel_4byte
99-
vfmaddsd %xmm1, foo(%rip),%xmm0, %xmm0
100-
101-
// CHECK: vfmaddps foo(%rip), %xmm1, %xmm0, %xmm0
102-
// CHECK: encoding: [0xc4,0xe3,0xf9,0x68,0x05,A,A,A,A,0x10]
103-
// CHECK: fixup A - offset: 5, value: foo-5, kind: reloc_riprel_4byte
104-
vfmaddps foo(%rip), %xmm1, %xmm0, %xmm0
105-
106-
// CHECK: vfmaddps %xmm1, foo(%rip), %xmm0, %xmm0
107-
// CHECK: encoding: [0xc4,0xe3,0x79,0x68,0x05,A,A,A,A,0x10]
108-
// CHECK: fixup A - offset: 5, value: foo-5, kind: reloc_riprel_4byte
109-
vfmaddps %xmm1, foo(%rip),%xmm0, %xmm0
110-
111-
// CHECK: vfmaddpd foo(%rip), %xmm1, %xmm0, %xmm0
112-
// CHECK: encoding: [0xc4,0xe3,0xf9,0x69,0x05,A,A,A,A,0x10]
113-
// CHECK: fixup A - offset: 5, value: foo-5, kind: reloc_riprel_4byte
114-
vfmaddpd foo(%rip), %xmm1, %xmm0, %xmm0
115-
116-
// CHECK: vfmaddpd %xmm1, foo(%rip), %xmm0, %xmm0
117-
// CHECK: encoding: [0xc4,0xe3,0x79,0x69,0x05,A,A,A,A,0x10]
118-
// CHECK: fixup A - offset: 5, value: foo-5, kind: reloc_riprel_4byte
119-
vfmaddpd %xmm1, foo(%rip),%xmm0, %xmm0
120-
121-
// CHECK: vfmaddps foo(%rip), %ymm1, %ymm0, %ymm0
122-
// CHECK: encoding: [0xc4,0xe3,0xfd,0x68,0x05,A,A,A,A,0x10]
123-
// CHECK: fixup A - offset: 5, value: foo-5, kind: reloc_riprel_4byte
124-
vfmaddps foo(%rip), %ymm1, %ymm0, %ymm0
125-
126-
// CHECK: vfmaddps %ymm1, foo(%rip), %ymm0, %ymm0
127-
// CHECK: encoding: [0xc4,0xe3,0x7d,0x68,0x05,A,A,A,A,0x10]
128-
// CHECK: fixup A - offset: 5, value: foo-5, kind: reloc_riprel_4byte
129-
vfmaddps %ymm1, foo(%rip),%ymm0, %ymm0
130-
131-
// CHECK: vfmaddpd foo(%rip), %ymm1, %ymm0, %ymm0
132-
// CHECK: encoding: [0xc4,0xe3,0xfd,0x69,0x05,A,A,A,A,0x10]
133-
// CHECK: fixup A - offset: 5, value: foo-5, kind: reloc_riprel_4byte
134-
vfmaddpd foo(%rip), %ymm1, %ymm0, %ymm0
135-
136-
// CHECK: vfmaddpd %ymm1, foo(%rip), %ymm0, %ymm0
137-
// CHECK: encoding: [0xc4,0xe3,0x7d,0x69,0x05,A,A,A,A,0x10]
138-
// CHECK: fixup A - offset: 5, value: foo-5, kind: reloc_riprel_4byte
139-
vfmaddpd %ymm1, foo(%rip),%ymm0, %ymm0
14080

14181
// vfmsub
14282
// CHECK: vfmsubss (%rcx), %xmm1, %xmm0, %xmm0

llvm/test/MC/X86/x86-16.s

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1056,17 +1056,6 @@ xsusldtrk
10561056
// CHECK: encoding: [0xf2,0x0f,0x01,0xe9]
10571057
xresldtrk
10581058

1059-
// CHECK: jmp foo
1060-
// CHECK: encoding: [0xe9,A,A]
1061-
// CHECK: fixup A - offset: 1, value: foo-2, kind: FK_PCRel_2
1062-
{disp32} jmp foo
1063-
foo:
1064-
1065-
// CHECK: je foo
1066-
// CHECK: encoding: [0x0f,0x84,A,A]
1067-
// CHECK: fixup A - offset: 2, value: foo-2, kind: FK_PCRel_2
1068-
{disp32} je foo
1069-
10701059
// CHECK: movl nearer, %ebx
10711060
// CHECK: encoding: [0x66,0x8b,0x1e,A,A]
10721061
// CHECK: fixup A - offset: 3, value: nearer, kind: FK_Data_2

llvm/test/MC/X86/x86-32-coverage.s

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1421,12 +1421,6 @@
14211421
// CHECK: encoding: [0xd1,0x0d,0x78,0x56,0x34,0x12]
14221422
rorl 0x12345678
14231423

1424-
// CHECK: rorl $foo, (%ebx)
1425-
// INTEL: ror dword ptr [ebx], foo
1426-
// CHECK: encoding: [0xc1,0x0b,A]
1427-
// CHECK: fixup A - offset: 2, value: foo, kind: FK_Data_1
1428-
rorl $foo, (%ebx)
1429-
14301424
// CHECK: shll $0, 3735928559(%ebx,%ecx,8)
14311425
// CHECK: encoding: [0xc1,0xa4,0xcb,0xef,0xbe,0xad,0xde,0x00]
14321426
sall $0,0xdeadbeef(%ebx,%ecx,8)

llvm/test/MC/X86/x86-32.s

Lines changed: 1 addition & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
/// See Relocations/x86-32.s for fixup/relocation tests.
12
// RUN: llvm-mc -triple i386-unknown-unknown --show-encoding %s | FileCheck %s
23

34
pause
@@ -1118,25 +1119,6 @@ ptwritel 0xdeadbeef(%ebx,%ecx,8)
11181119
// CHECK: encoding: [0xf3,0x0f,0xae,0xe0]
11191120
ptwritel %eax
11201121

1121-
// CHECK: jmp foo
1122-
// CHECK: encoding: [0xe9,A,A,A,A]
1123-
// CHECK: fixup A - offset: 1, value: foo-4, kind: FK_PCRel_4
1124-
// CHECK: jmp foo
1125-
// CHECK: encoding: [0xe9,A,A,A,A]
1126-
// CHECK: fixup A - offset: 1, value: foo-4, kind: FK_PCRel_4
1127-
{disp32} jmp foo
1128-
jmp.d32 foo
1129-
foo:
1130-
1131-
// CHECK: je foo
1132-
// CHECK: encoding: [0x0f,0x84,A,A,A,A]
1133-
// CHECK: fixup A - offset: 2, value: foo-4, kind: FK_PCRel_4
1134-
// CHECK: je foo
1135-
// CHECK: encoding: [0x0f,0x84,A,A,A,A]
1136-
// CHECK: fixup A - offset: 2, value: foo-4, kind: FK_PCRel_4
1137-
{disp32} je foo
1138-
je.d32 foo
1139-
11401122
// CHECK: ljmpl *%cs:305419896
11411123
// CHECK: encoding: [0x2e,0xff,0x2d,0x78,0x56,0x34,0x12]
11421124
ljmp %cs:*0x12345678

llvm/test/MC/X86/x86-64.s

Lines changed: 1 addition & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
/// See Relocations/x86-64.s for fixup/relocation tests.
12
// RUN: llvm-mc -triple x86_64-unknown-unknown -show-encoding %s > %t 2> %t.err
23
// RUN: FileCheck < %t %s
34
// RUN: FileCheck --check-prefix=CHECK-STDERR < %t.err %s
@@ -597,86 +598,15 @@ fdivp %st, %st(1) // CHECK: encoding: [0xde,0xf1]
597598
fdivp %st(1), %st // CHECK: encoding: [0xde,0xf1]
598599

599600

600-
movl foo(%rip), %eax
601-
// CHECK: movl foo(%rip), %eax
602-
// CHECK: encoding: [0x8b,0x05,A,A,A,A]
603-
// CHECK: fixup A - offset: 2, value: foo-4, kind: reloc_riprel_4byte
604-
605-
movb $12, foo(%rip)
606-
// CHECK: movb $12, foo(%rip)
607-
// CHECK: encoding: [0xc6,0x05,A,A,A,A,0x0c]
608-
// CHECK: fixup A - offset: 2, value: foo-5, kind: reloc_riprel_4byte
609-
610-
movw $12, foo(%rip)
611-
// CHECK: movw $12, foo(%rip)
612-
// CHECK: encoding: [0x66,0xc7,0x05,A,A,A,A,0x0c,0x00]
613-
// CHECK: fixup A - offset: 3, value: foo-6, kind: reloc_riprel_4byte
614-
615-
movl $12, foo(%rip)
616-
// CHECK: movl $12, foo(%rip)
617-
// CHECK: encoding: [0xc7,0x05,A,A,A,A,0x0c,0x00,0x00,0x00]
618-
// CHECK: fixup A - offset: 2, value: foo-8, kind: reloc_riprel_4byte
619-
620601
// rdar://37247000
621602
movl $12, 1024(%rip)
622603
// CHECK: movl $12, 1024(%rip)
623604
// CHECK: encoding: [0xc7,0x05,0x00,0x04,0x00,0x00,0x0c,0x00,0x00,0x00]
624605

625-
movq $12, foo(%rip)
626-
// CHECK: movq $12, foo(%rip)
627-
// CHECK: encoding: [0x48,0xc7,0x05,A,A,A,A,0x0c,0x00,0x00,0x00]
628-
// CHECK: fixup A - offset: 3, value: foo-8, kind: reloc_riprel_4byte
629-
630-
movl foo(%eip), %eax
631-
// CHECK: movl foo(%eip), %eax
632-
// CHECK: encoding: [0x67,0x8b,0x05,A,A,A,A]
633-
// CHECK: fixup A - offset: 3, value: foo-4, kind: reloc_riprel_4byte
634-
635-
movb $12, foo(%eip)
636-
// CHECK: movb $12, foo(%eip)
637-
// CHECK: encoding: [0x67,0xc6,0x05,A,A,A,A,0x0c]
638-
// CHECK: fixup A - offset: 3, value: foo-5, kind: reloc_riprel_4byte
639-
640-
movw $12, foo(%eip)
641-
// CHECK: movw $12, foo(%eip)
642-
// CHECK: encoding: [0x67,0x66,0xc7,0x05,A,A,A,A,0x0c,0x00]
643-
// CHECK: fixup A - offset: 4, value: foo-6, kind: reloc_riprel_4byte
644-
645-
movl $12, foo(%eip)
646-
// CHECK: movl $12, foo(%eip)
647-
// CHECK: encoding: [0x67,0xc7,0x05,A,A,A,A,0x0c,0x00,0x00,0x00]
648-
// CHECK: fixup A - offset: 3, value: foo-8, kind: reloc_riprel_4byte
649-
650-
movq $12, foo(%eip)
651-
// CHECK: movq $12, foo(%eip)
652-
// CHECK: encoding: [0x67,0x48,0xc7,0x05,A,A,A,A,0x0c,0x00,0x00,0x00]
653-
// CHECK: fixup A - offset: 4, value: foo-8, kind: reloc_riprel_4byte
654-
655606
// CHECK: addq $-424, %rax
656607
// CHECK: encoding: [0x48,0x05,0x58,0xfe,0xff,0xff]
657608
addq $-424, %rax
658609

659-
660-
// CHECK: movq _foo@GOTPCREL(%rip), %rax
661-
// CHECK: encoding: [0x48,0x8b,0x05,A,A,A,A]
662-
// CHECK: fixup A - offset: 3, value: _foo@GOTPCREL-4, kind: reloc_riprel_4byte_movq_load
663-
movq _foo@GOTPCREL(%rip), %rax
664-
665-
// CHECK: movq _foo@GOTPCREL(%rip), %r14
666-
// CHECK: encoding: [0x4c,0x8b,0x35,A,A,A,A]
667-
// CHECK: fixup A - offset: 3, value: _foo@GOTPCREL-4, kind: reloc_riprel_4byte_movq_load
668-
movq _foo@GOTPCREL(%rip), %r14
669-
670-
// CHECK: movq _foo@GOTPCREL(%eip), %rax
671-
// CHECK: encoding: [0x67,0x48,0x8b,0x05,A,A,A,A]
672-
// CHECK: fixup A - offset: 4, value: _foo@GOTPCREL-4, kind: reloc_riprel_4byte_movq_load
673-
movq _foo@GOTPCREL(%eip), %rax
674-
675-
// CHECK: movq _foo@GOTPCREL(%eip), %r14
676-
// CHECK: encoding: [0x67,0x4c,0x8b,0x35,A,A,A,A]
677-
// CHECK: fixup A - offset: 4, value: _foo@GOTPCREL-4, kind: reloc_riprel_4byte_movq_load
678-
movq _foo@GOTPCREL(%eip), %r14
679-
680610
// CHECK: movq (%r13,%rax,8), %r13
681611
// CHECK: encoding: [0x4d,0x8b,0x6c,0xc5,0x00]
682612
movq 0x00(%r13,%rax,8),%r13

llvm/test/MC/X86/x86_64-encoding.s

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -133,12 +133,6 @@ movq %mm1, %r8
133133
// CHECK: encoding: [0x48,0x0f,0x7e,0xca]
134134
movq %mm1, %rdx
135135

136-
// rdar://7840289
137-
// CHECK: pshufb CPI1_0(%rip), %xmm1
138-
// CHECK: encoding: [0x66,0x0f,0x38,0x00,0x0d,A,A,A,A]
139-
// CHECK: fixup A - offset: 5, value: CPI1_0-4
140-
pshufb CPI1_0(%rip), %xmm1
141-
142136
// CHECK: sha1rnds4 $1, %xmm1, %xmm2
143137
// CHECK: encoding: [0x0f,0x3a,0xcc,0xd1,0x01]
144138
sha1rnds4 $1, %xmm1, %xmm2

0 commit comments

Comments
 (0)