File: long-conditional-jump.s

package info (click to toggle)
llvm-toolchain-21 1%3A21.1.6-3
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 2,245,028 kB
  • sloc: cpp: 7,619,726; ansic: 1,434,018; asm: 1,058,748; python: 252,740; f90: 94,671; objc: 70,685; lisp: 42,813; pascal: 18,401; sh: 8,601; ml: 5,111; perl: 4,720; makefile: 3,675; awk: 3,523; javascript: 2,409; xml: 892; fortran: 770
file content (141 lines) | stat: -rw-r--r-- 5,080 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
# RUN: llvm-mc -filetype=obj -triple=riscv64 %s \
# RUN:     | llvm-objdump -d -M no-aliases - \
# RUN:     | FileCheck --check-prefix=CHECK-INST %s
# RUN: llvm-mc -filetype=obj -triple=riscv64 -mattr=+c %s \
# RUN:     | llvm-objdump -d -M no-aliases - \
# RUN:     | FileCheck --check-prefix=CHECK-INST-C %s
# RUN: llvm-mc -filetype=obj -triple=riscv64 -mattr=+relax %s \
# RUN:     | llvm-objdump -dr -M no-aliases - \
# RUN:     | FileCheck --check-prefix=CHECK-INST-RELAX %s
# RUN: llvm-mc -filetype=obj -triple=riscv64 -mattr=+c,+relax %s \
# RUN:     | llvm-objdump -dr -M no-aliases - \
# RUN:     | FileCheck --check-prefix=CHECK-INST-C-RELAX %s

       .text
       .type   test,@function
test:
# CHECK-INST:         beq     a0, a1, 0x8
# CHECK-INST-NEXT:    jal     zero, 0x1458
# CHECK-INST-C:       beq     a0, a1, 0x8
# CHECK-INST-C-NEXT:  jal     zero, 0x1458
# CHECK-INST-RELAX:         beq     a0, a1, 0x8
# CHECK-INST-RELAX-NEXT:    jal     zero, {{.*}}
# CHECK-INST-RELAX-NEXT:    R_RISCV_JAL .L1
# CHECK-INST-C-RELAX:       beq     a0, a1, 0x8
# CHECK-INST-C-RELAX-NEXT:  jal     zero, {{.*}}
# CHECK-INST-C-RELAX-NEXT:  R_RISCV_JAL .L1
   bne a0, a1, .L1
   call relax
.fill 1300-2, 4, 0
.L1:
   ret
# CHECK-INST:         bne     a0, a1, 0x1464
# CHECK-INST-NEXT:    jal     zero, 0x28b4
# CHECK-INST-C:       bne     a0, a1, 0x1462
# CHECK-INST-C-NEXT:  jal     zero, 0x28b2
# CHECK-INST-RELAX:         bne     a0, a1, 0x1464
# CHECK-INST-RELAX-NEXT:    jal     zero, {{.*}}
# CHECK-INST-C-RELAX:       bne     a0, a1, 0x1462
# CHECK-INST-C-RELAX-NEXT:  jal     zero, {{.*}}
   beq a0, a1, .L2
.fill 1300, 4, 0
.L2:
   ret
# CHECK-INST:         bge     a0, a1, 0x28c0
# CHECK-INST-NEXT:    jal     zero, 0x3d10
# CHECK-INST-C:       bge     a0, a1, 0x28bc
# CHECK-INST-C-NEXT:  jal     zero, 0x3d0c
# CHECK-INST-RELAX:         bge     a0, a1, 0x28c0
# CHECK-INST-RELAX-NEXT:    jal     zero, {{.*}}
# CHECK-INST-C-RELAX:       bge     a0, a1, 0x28bc
# CHECK-INST-C-RELAX-NEXT:  jal     zero, {{.*}}
   blt a0, a1, .L3
.fill 1300, 4, 0
.L3:
   ret
# CHECK-INST:         blt     a0, a1, 0x3d1c
# CHECK-INST-NEXT:    jal     zero, 0x516c
# CHECK-INST-C:       blt     a0, a1, 0x3d16
# CHECK-INST-C-NEXT:  jal     zero, 0x5166
# CHECK-INST-RELAX:         blt     a0, a1, 0x3d1c
# CHECK-INST-RELAX-NEXT:    jal     zero, {{.*}}
# CHECK-INST-C-RELAX:       blt     a0, a1, 0x3d16
# CHECK-INST-C-RELAX-NEXT:  jal     zero, {{.*}}
   bge a0, a1, .L4
.fill 1300, 4, 0
.L4:
   ret
# CHECK-INST:         bgeu    a0, a1, 0x5178
# CHECK-INST-NEXT:    jal     zero, 0x65c8
# CHECK-INST-C:       bgeu    a0, a1, 0x5170
# CHECK-INST-C-NEXT:  jal     zero, 0x65c0
# CHECK-INST-RELAX:         bgeu    a0, a1, 0x5178
# CHECK-INST-RELAX-NEXT:    jal     zero, {{.*}}
# CHECK-INST-C-RELAX:       bgeu    a0, a1, 0x5170
# CHECK-INST-C-RELAX-NEXT:  jal     zero, {{.*}}
   bltu a0, a1, .L5
.fill 1300, 4, 0
.L5:
   ret
# CHECK-INST:         bltu    a0, a1, 0x65d4
# CHECK-INST-NEXT:    jal     zero, 0x7a24
# CHECK-INST-C:       bltu    a0, a1, 0x65ca
# CHECK-INST-C-NEXT:  jal     zero, 0x7a1a
# CHECK-INST-RELAX:         bltu    a0, a1, 0x65d4
# CHECK-INST-RELAX-NEXT:    jal     zero, {{.*}}
# CHECK-INST-C-RELAX:       bltu    a0, a1, 0x65ca
# CHECK-INST-C-RELAX-NEXT:  jal     zero, {{.*}}
   bgeu a0, a1, .L6
.fill 1300, 4, 0
.L6:
   ret
# CHECK-INST:         bne     a0, zero, 0x7a30
# CHECK-INST-NEXT:    jal     zero, 0x8e80
# CHECK-INST-C:       c.bnez  a0, 0x7a22
# CHECK-INST-C-NEXT:  jal     zero, 0x8e72
# CHECK-INST-RELAX:         bne     a0, zero, 0x7a30
# CHECK-INST-RELAX-NEXT:    jal     zero, {{.*}}
# CHECK-INST-C-RELAX:       c.bnez  a0, 0x7a22
# CHECK-INST-C-RELAX-NEXT:  jal     zero, {{.*}}
   beqz a0, .L7
.fill 1300, 4, 0
.L7:
   ret
# CHECK-INST:         bne     zero, a0, 0x8e8c
# CHECK-INST-NEXT:    jal     zero, 0xa2dc
# CHECK-INST-C:       c.bnez  a0, 0x8e7a
# CHECK-INST-C-NEXT:  jal     zero, 0xa2ca
# CHECK-INST-RELAX:         bne     zero, a0, 0x8e8c
# CHECK-INST-RELAX-NEXT:    jal     zero, {{.*}}
# CHECK-INST-C-RELAX:       c.bnez  a0, 0x8e7a
# CHECK-INST-C-RELAX-NEXT:  jal     zero, {{.*}}
   beq x0, a0, .L8
.fill 1300, 4, 0
.L8:
   ret
# CHECK-INST:         beq     a0, zero, 0xa2e8
# CHECK-INST-NEXT:    jal     zero, 0xb738
# CHECK-INST-C:       c.beqz  a0, 0xa2d2
# CHECK-INST-C-NEXT:  jal     zero, 0xb722
# CHECK-INST-RELAX:         beq     a0, zero, 0xa2e8
# CHECK-INST-RELAX-NEXT:    jal     zero, {{.*}}
# CHECK-INST-C-RELAX:       c.beqz  a0, 0xa2d2
# CHECK-INST-C-RELAX-NEXT:  jal     zero, {{.*}}
   bnez a0, .L9
.fill 1300, 4, 0
.L9:
   ret
# CHECK-INST:         beq     a6, zero, 0xb744
# CHECK-INST-NEXT:    jal     zero, 0xcb94
# CHECK-INST-C:       beq     a6, zero, 0xb72c
# CHECK-INST-C-NEXT:  jal     zero, 0xcb7c
# CHECK-INST-RELAX:         beq     a6, zero, 0xb744
# CHECK-INST-RELAX-NEXT:    jal     zero, {{.*}}
# CHECK-INST-C-RELAX:       beq     a6, zero, 0xb72c
# CHECK-INST-C-RELAX-NEXT:  jal     zero, {{.*}}
   bnez x16, .L10
.fill 1300, 4, 0
.L10:
   ret
.Lfunc_end0:
       .size   test, .Lfunc_end0-test