@@ -37,7 +37,7 @@ define i8 @atomic_load_i8_unordered(ptr %a) nounwind {
37
37
;
38
38
; RV32IA-LABEL: atomic_load_i8_unordered:
39
39
; RV32IA: # %bb.0:
40
- ; RV32IA-NEXT: lb a0, 0(a0)
40
+ ; RV32IA-NEXT: lbu a0, 0(a0)
41
41
; RV32IA-NEXT: ret
42
42
;
43
43
; RV64I-LABEL: atomic_load_i8_unordered:
@@ -52,7 +52,7 @@ define i8 @atomic_load_i8_unordered(ptr %a) nounwind {
52
52
;
53
53
; RV64IA-LABEL: atomic_load_i8_unordered:
54
54
; RV64IA: # %bb.0:
55
- ; RV64IA-NEXT: lb a0, 0(a0)
55
+ ; RV64IA-NEXT: lbu a0, 0(a0)
56
56
; RV64IA-NEXT: ret
57
57
%1 = load atomic i8 , ptr %a unordered , align 1
58
58
ret i8 %1
@@ -71,7 +71,7 @@ define i8 @atomic_load_i8_monotonic(ptr %a) nounwind {
71
71
;
72
72
; RV32IA-LABEL: atomic_load_i8_monotonic:
73
73
; RV32IA: # %bb.0:
74
- ; RV32IA-NEXT: lb a0, 0(a0)
74
+ ; RV32IA-NEXT: lbu a0, 0(a0)
75
75
; RV32IA-NEXT: ret
76
76
;
77
77
; RV64I-LABEL: atomic_load_i8_monotonic:
@@ -86,7 +86,7 @@ define i8 @atomic_load_i8_monotonic(ptr %a) nounwind {
86
86
;
87
87
; RV64IA-LABEL: atomic_load_i8_monotonic:
88
88
; RV64IA: # %bb.0:
89
- ; RV64IA-NEXT: lb a0, 0(a0)
89
+ ; RV64IA-NEXT: lbu a0, 0(a0)
90
90
; RV64IA-NEXT: ret
91
91
%1 = load atomic i8 , ptr %a monotonic , align 1
92
92
ret i8 %1
@@ -105,13 +105,13 @@ define i8 @atomic_load_i8_acquire(ptr %a) nounwind {
105
105
;
106
106
; RV32IA-WMO-LABEL: atomic_load_i8_acquire:
107
107
; RV32IA-WMO: # %bb.0:
108
- ; RV32IA-WMO-NEXT: lb a0, 0(a0)
108
+ ; RV32IA-WMO-NEXT: lbu a0, 0(a0)
109
109
; RV32IA-WMO-NEXT: fence r, rw
110
110
; RV32IA-WMO-NEXT: ret
111
111
;
112
112
; RV32IA-TSO-LABEL: atomic_load_i8_acquire:
113
113
; RV32IA-TSO: # %bb.0:
114
- ; RV32IA-TSO-NEXT: lb a0, 0(a0)
114
+ ; RV32IA-TSO-NEXT: lbu a0, 0(a0)
115
115
; RV32IA-TSO-NEXT: ret
116
116
;
117
117
; RV64I-LABEL: atomic_load_i8_acquire:
@@ -126,35 +126,35 @@ define i8 @atomic_load_i8_acquire(ptr %a) nounwind {
126
126
;
127
127
; RV64IA-WMO-LABEL: atomic_load_i8_acquire:
128
128
; RV64IA-WMO: # %bb.0:
129
- ; RV64IA-WMO-NEXT: lb a0, 0(a0)
129
+ ; RV64IA-WMO-NEXT: lbu a0, 0(a0)
130
130
; RV64IA-WMO-NEXT: fence r, rw
131
131
; RV64IA-WMO-NEXT: ret
132
132
;
133
133
; RV64IA-TSO-LABEL: atomic_load_i8_acquire:
134
134
; RV64IA-TSO: # %bb.0:
135
- ; RV64IA-TSO-NEXT: lb a0, 0(a0)
135
+ ; RV64IA-TSO-NEXT: lbu a0, 0(a0)
136
136
; RV64IA-TSO-NEXT: ret
137
137
;
138
138
; RV32IA-WMO-TRAILING-FENCE-LABEL: atomic_load_i8_acquire:
139
139
; RV32IA-WMO-TRAILING-FENCE: # %bb.0:
140
- ; RV32IA-WMO-TRAILING-FENCE-NEXT: lb a0, 0(a0)
140
+ ; RV32IA-WMO-TRAILING-FENCE-NEXT: lbu a0, 0(a0)
141
141
; RV32IA-WMO-TRAILING-FENCE-NEXT: fence r, rw
142
142
; RV32IA-WMO-TRAILING-FENCE-NEXT: ret
143
143
;
144
144
; RV32IA-TSO-TRAILING-FENCE-LABEL: atomic_load_i8_acquire:
145
145
; RV32IA-TSO-TRAILING-FENCE: # %bb.0:
146
- ; RV32IA-TSO-TRAILING-FENCE-NEXT: lb a0, 0(a0)
146
+ ; RV32IA-TSO-TRAILING-FENCE-NEXT: lbu a0, 0(a0)
147
147
; RV32IA-TSO-TRAILING-FENCE-NEXT: ret
148
148
;
149
149
; RV64IA-WMO-TRAILING-FENCE-LABEL: atomic_load_i8_acquire:
150
150
; RV64IA-WMO-TRAILING-FENCE: # %bb.0:
151
- ; RV64IA-WMO-TRAILING-FENCE-NEXT: lb a0, 0(a0)
151
+ ; RV64IA-WMO-TRAILING-FENCE-NEXT: lbu a0, 0(a0)
152
152
; RV64IA-WMO-TRAILING-FENCE-NEXT: fence r, rw
153
153
; RV64IA-WMO-TRAILING-FENCE-NEXT: ret
154
154
;
155
155
; RV64IA-TSO-TRAILING-FENCE-LABEL: atomic_load_i8_acquire:
156
156
; RV64IA-TSO-TRAILING-FENCE: # %bb.0:
157
- ; RV64IA-TSO-TRAILING-FENCE-NEXT: lb a0, 0(a0)
157
+ ; RV64IA-TSO-TRAILING-FENCE-NEXT: lbu a0, 0(a0)
158
158
; RV64IA-TSO-TRAILING-FENCE-NEXT: ret
159
159
%1 = load atomic i8 , ptr %a acquire , align 1
160
160
ret i8 %1
@@ -174,14 +174,14 @@ define i8 @atomic_load_i8_seq_cst(ptr %a) nounwind {
174
174
; RV32IA-WMO-LABEL: atomic_load_i8_seq_cst:
175
175
; RV32IA-WMO: # %bb.0:
176
176
; RV32IA-WMO-NEXT: fence rw, rw
177
- ; RV32IA-WMO-NEXT: lb a0, 0(a0)
177
+ ; RV32IA-WMO-NEXT: lbu a0, 0(a0)
178
178
; RV32IA-WMO-NEXT: fence r, rw
179
179
; RV32IA-WMO-NEXT: ret
180
180
;
181
181
; RV32IA-TSO-LABEL: atomic_load_i8_seq_cst:
182
182
; RV32IA-TSO: # %bb.0:
183
183
; RV32IA-TSO-NEXT: fence rw, rw
184
- ; RV32IA-TSO-NEXT: lb a0, 0(a0)
184
+ ; RV32IA-TSO-NEXT: lbu a0, 0(a0)
185
185
; RV32IA-TSO-NEXT: ret
186
186
;
187
187
; RV64I-LABEL: atomic_load_i8_seq_cst:
@@ -197,40 +197,40 @@ define i8 @atomic_load_i8_seq_cst(ptr %a) nounwind {
197
197
; RV64IA-WMO-LABEL: atomic_load_i8_seq_cst:
198
198
; RV64IA-WMO: # %bb.0:
199
199
; RV64IA-WMO-NEXT: fence rw, rw
200
- ; RV64IA-WMO-NEXT: lb a0, 0(a0)
200
+ ; RV64IA-WMO-NEXT: lbu a0, 0(a0)
201
201
; RV64IA-WMO-NEXT: fence r, rw
202
202
; RV64IA-WMO-NEXT: ret
203
203
;
204
204
; RV64IA-TSO-LABEL: atomic_load_i8_seq_cst:
205
205
; RV64IA-TSO: # %bb.0:
206
206
; RV64IA-TSO-NEXT: fence rw, rw
207
- ; RV64IA-TSO-NEXT: lb a0, 0(a0)
207
+ ; RV64IA-TSO-NEXT: lbu a0, 0(a0)
208
208
; RV64IA-TSO-NEXT: ret
209
209
;
210
210
; RV32IA-WMO-TRAILING-FENCE-LABEL: atomic_load_i8_seq_cst:
211
211
; RV32IA-WMO-TRAILING-FENCE: # %bb.0:
212
212
; RV32IA-WMO-TRAILING-FENCE-NEXT: fence rw, rw
213
- ; RV32IA-WMO-TRAILING-FENCE-NEXT: lb a0, 0(a0)
213
+ ; RV32IA-WMO-TRAILING-FENCE-NEXT: lbu a0, 0(a0)
214
214
; RV32IA-WMO-TRAILING-FENCE-NEXT: fence r, rw
215
215
; RV32IA-WMO-TRAILING-FENCE-NEXT: ret
216
216
;
217
217
; RV32IA-TSO-TRAILING-FENCE-LABEL: atomic_load_i8_seq_cst:
218
218
; RV32IA-TSO-TRAILING-FENCE: # %bb.0:
219
219
; RV32IA-TSO-TRAILING-FENCE-NEXT: fence rw, rw
220
- ; RV32IA-TSO-TRAILING-FENCE-NEXT: lb a0, 0(a0)
220
+ ; RV32IA-TSO-TRAILING-FENCE-NEXT: lbu a0, 0(a0)
221
221
; RV32IA-TSO-TRAILING-FENCE-NEXT: ret
222
222
;
223
223
; RV64IA-WMO-TRAILING-FENCE-LABEL: atomic_load_i8_seq_cst:
224
224
; RV64IA-WMO-TRAILING-FENCE: # %bb.0:
225
225
; RV64IA-WMO-TRAILING-FENCE-NEXT: fence rw, rw
226
- ; RV64IA-WMO-TRAILING-FENCE-NEXT: lb a0, 0(a0)
226
+ ; RV64IA-WMO-TRAILING-FENCE-NEXT: lbu a0, 0(a0)
227
227
; RV64IA-WMO-TRAILING-FENCE-NEXT: fence r, rw
228
228
; RV64IA-WMO-TRAILING-FENCE-NEXT: ret
229
229
;
230
230
; RV64IA-TSO-TRAILING-FENCE-LABEL: atomic_load_i8_seq_cst:
231
231
; RV64IA-TSO-TRAILING-FENCE: # %bb.0:
232
232
; RV64IA-TSO-TRAILING-FENCE-NEXT: fence rw, rw
233
- ; RV64IA-TSO-TRAILING-FENCE-NEXT: lb a0, 0(a0)
233
+ ; RV64IA-TSO-TRAILING-FENCE-NEXT: lbu a0, 0(a0)
234
234
; RV64IA-TSO-TRAILING-FENCE-NEXT: ret
235
235
%1 = load atomic i8 , ptr %a seq_cst , align 1
236
236
ret i8 %1
0 commit comments