xref: /llvm-project/llvm/test/MC/Sparc/sparc64-bpr-offset.s (revision 252c42354eca54274ed7b10c32c73c6937478e8b)
1! RUN: llvm-mc -triple=sparcv9 -filetype=obj %s | llvm-objdump -d - | FileCheck %s --check-prefix=BIN
2
3        !! SPARCv9/SPARC64 BPr branches have different offset encoding from the others,
4        !! make sure that our offset bits don't trample on other fields.
5        !! This is particularly important with backwards branches.
6
7        ! BIN:  0: 02 c8 40 01  	brz %g1, 1
8        ! BIN:  4: 04 c8 40 01  	brlez %g1, 1
9        ! BIN:  8: 06 c8 40 01  	brlz %g1, 1
10        ! BIN:  c: 0a c8 40 01  	brnz %g1, 1
11        ! BIN: 10: 0c c8 40 01  	brgz %g1, 1
12        ! BIN: 14: 0e c8 40 01  	brgez %g1, 1
13        brz   %g1, .+4
14        brlez %g1, .+4
15        brlz  %g1, .+4
16        brnz  %g1, .+4
17        brgz  %g1, .+4
18        brgez %g1, .+4
19
20        ! BIN: 18: 02 f8 7f ff  	brz %g1, 65535
21        ! BIN: 1c: 04 f8 7f ff  	brlez %g1, 65535
22        ! BIN: 20: 06 f8 7f ff  	brlz %g1, 65535
23        ! BIN: 24: 0a f8 7f ff  	brnz %g1, 65535
24        ! BIN: 28: 0c f8 7f ff  	brgz %g1, 65535
25        ! BIN: 2c: 0e f8 7f ff  	brgez %g1, 65535
26        brz   %g1, .-4
27        brlez %g1, .-4
28        brlz  %g1, .-4
29        brnz  %g1, .-4
30        brgz  %g1, .-4
31        brgez %g1, .-4
32