[AVX-512] Make spacing between comma and {sae} operand consistent in asm strings.
[oota-llvm.git] / test / MC / ELF / merge.s
index 14828d2ec2ac0d860ba0958c0377275bd143c504..e787728ae19786e9dc721f843ee8a375ee769034 100644 (file)
@@ -1,26 +1,33 @@
-// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | elf-dump  --dump-section-data | FileCheck  %s
+// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -r | FileCheck  %s
 
 // Test that relocations with local symbols in a mergeable section are done
-// with a reference to the symbol. Not sure if this is a linker limitation,
-// but this matches the behavior of gas.
+// with a reference to the symbol if the offset is non zero.
 
-        .section        .sec1,"aM",@progbits,16
-.Lfoo:
-        .text
-        movsd   .Lfoo(%rip), %xmm1
 
-// Symbol number 1 is .Lfoo
+        movsd   .Lfoo(%rip), %xmm1
+        movl   $.Lfoo, %edi
+        movl   $.Lfoo+2, %edi
+        jmp    foo@PLT
+        movq   foo@GOTPCREL, %rax
+        movq    zed, %rax
+        movsd   .Lfoo+4(%rip), %xmm1
 
-// CHECK:      # Symbol 1
-// CHECK-NEXT: (('st_name', 1) # '.Lfoo'
+        .section        .sec1,"aM",@progbits,16
+.Lfoo:
+zed:
+        .global zed
 
-// Relocation refers to symbol 1
+        .section       bar,"ax",@progbits
+foo:
 
-// CHECK:       ('_relocations', [
-// CHECK-NEXT:   # Relocation 0
-// CHECK-NEXT:   (('r_offset',
-// CHECK-NEXT:    ('r_sym', 1)
-// CHECK-NEXT:    ('r_type',
-// CHECK-NEXT:    ('r_addend',
-// CHECK-NEXT:   ),
-// CHECK-NEXT:  ])
+// CHECK:      Relocations [
+// CHECK-NEXT:   Section {{.*}} .rela.text {
+// CHECK-NEXT:     0x{{[^ ]+}} R_X86_64_PC32    .Lfoo 0x{{[^ ]+}}
+// CHECK-NEXT:     0x{{[^ ]+}} R_X86_64_32      .sec1 0x{{[^ ]+}}
+// CHECK-NEXT:     0x{{[^ ]+}} R_X86_64_32      .Lfoo 0x{{[^ ]+}}
+// CHECK-NEXT:     0x{{[^ ]+}} R_X86_64_PLT32    foo  0x{{[^ ]+}}
+// CHECK-NEXT:     0x{{[^ ]+}} R_X86_64_GOTPCREL foo  0x{{[^ ]+}}
+// CHECK-NEXT:     0x{{[^ ]+}} R_X86_64_32S      zed  0x{{[^ ]+}}
+// CHECK-NEXT:     0x{{[^ ]+}} R_X86_64_PC32    .sec1 0x{{[^ ]+}}
+// CHECK-NEXT:   }
+// CHECK-NEXT: ]