summaryrefslogtreecommitdiff
path: root/ld/testsuite/ld-powerpc/tlsopt4_32.s
diff options
context:
space:
mode:
Diffstat (limited to 'ld/testsuite/ld-powerpc/tlsopt4_32.s')
-rw-r--r--ld/testsuite/ld-powerpc/tlsopt4_32.s34
1 files changed, 34 insertions, 0 deletions
diff --git a/ld/testsuite/ld-powerpc/tlsopt4_32.s b/ld/testsuite/ld-powerpc/tlsopt4_32.s
new file mode 100644
index 0000000..9643fcb
--- /dev/null
+++ b/ld/testsuite/ld-powerpc/tlsopt4_32.s
@@ -0,0 +1,34 @@
+ .section ".tbss","awT",@nobits
+ .global gd0
+ .align 3
+gd0: .space 8
+
+ .section ".opt1", "ax", %progbits
+ addi 3,13,gd@got@tlsgd
+ cmpwi 4,0
+ beq 0f
+ bl __tls_get_addr(gd@tlsgd)
+ b 1f
+0:
+ bl __tls_get_addr(gd@tlsgd)
+1:
+
+ .section ".opt2", "ax", %progbits
+ addi 3,13,gd@got@tlsgd
+ cmpwi 4,0
+ beq 0f
+ addi 3,13,gd@got@tlsgd
+0:
+ bl __tls_get_addr(gd@tlsgd)
+
+ .section ".opt3", "ax", %progbits
+ addi 3,13,gd@got@tlsgd
+ b 0f
+ addi 3,13,gd0@got@tlsgd
+ b 1f
+0:
+ bl __tls_get_addr(gd@tlsgd)
+ b 2f
+1:
+ bl __tls_get_addr(gd0@tlsgd)
+2: