blob: 60ef13a2f76702fa035b3c252fe50b5634d13c49 [file] [log] [blame]
Robert Sloan8ff03552017-06-14 12:40:58 -07001 .text
2foo:
3 # leaq of OPENSSL_ia32cap_P is supported.
4 leaq OPENSSL_ia32cap_P(%rip), %r11
5
6 # As is the equivalent GOTPCREL movq.
7 movq OPENSSL_ia32cap_P@GOTPCREL(%rip), %r12
8
9 # Test that GOTPCREL accesses get translated. They are handled
10 # differently for local and external symbols.
11
12 pushq stderr@GOTPCREL(%rip)
13 pushq foo@GOTPCREL(%rip)
14
15 movq stderr@GOTPCREL(%rip), %r11
16 movq foo@GOTPCREL(%rip), %r11
17
18 vmovq stderr@GOTPCREL(%rip), %xmm0
19 vmovq foo@GOTPCREL(%rip), %xmm0
20
21 cmoveq stderr@GOTPCREL(%rip), %r11
22 cmoveq foo@GOTPCREL(%rip), %r11
23 cmovneq stderr@GOTPCREL(%rip), %r11
24 cmovneq foo@GOTPCREL(%rip), %r11
25
26 # Synthesized symbols do not use the GOT.
27 movq BORINGSSL_bcm_text_start@GOTPCREL(%rip), %r11
28 movq foobar_bss_get@GOTPCREL(%rip), %r11
29 movq OPENSSL_ia32cap_get@GOTPCREL(%rip), %r11
30
31.comm foobar,64,32