The ordering of two relocations on the same instruction is apparently not
authorBill Schmidt <wschmidt@linux.vnet.ibm.com>
Wed, 12 Dec 2012 20:29:20 +0000 (20:29 +0000)
committerBill Schmidt <wschmidt@linux.vnet.ibm.com>
Wed, 12 Dec 2012 20:29:20 +0000 (20:29 +0000)
predictable when compiled on at least one non-PowerPC host.  Source of
nondeterminism not apparent.  Restrict the test to build on PowerPC hosts
for now while looking into the issue further.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170016 91177308-0d34-0410-b5e6-96231b3b80d8

test/CodeGen/PowerPC/tls-ld-obj.ll

index 4b9f340fdda979c93963938c4dc25c1d06897751..9f33fee8ad35b3191e0e0f474c6cd8f7af42ebe8 100644 (file)
@@ -4,6 +4,10 @@
 ; Test correct relocation generation for thread-local storage using
 ; the local dynamic model.
 
+; Relocations 2 and 3 seem to come out in unpredictable order on some
+; architectures, so restrict this for now.
+; REQUIRES: ppc64-registered-target
+
 target datalayout = "E-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-f128:128:128-v128:128:128-n32:64"
 target triple = "powerpc64-unknown-linux-gnu"
 
@@ -17,9 +21,10 @@ entry:
   ret i32 %0
 }
 
-; Verify generation of R_PPC64_GOT_TLSGD16_HA, R_PPC64_GOT_TLSGD16_LO,
-; and R_PPC64_TLSGD for accessing external variable a, and R_PPC64_REL24
-; for the call to __tls_get_addr.
+; Verify generation of R_PPC64_GOT_TLSLD16_HA, R_PPC64_GOT_TLSLD16_LO,
+; R_PPC64_TLSLD, R_PPC64_DTPREL16_HA, and R_PPC64_DTPREL16_LO for
+; accessing external variable a, and R_PPC64_REL24 for the call to
+; __tls_get_addr.
 ;
 ; CHECK:       '.rela.text'
 ; CHECK:       Relocation 0