@@ -37,7 +37,7 @@ define i8 @atomic_load_i8_unordered(ptr %a) nounwind {
3737;
3838; RV32IA-LABEL: atomic_load_i8_unordered:
3939; RV32IA: # %bb.0:
40- ; RV32IA-NEXT: lb a0, 0(a0)
40+ ; RV32IA-NEXT: lbu a0, 0(a0)
4141; RV32IA-NEXT: ret
4242;
4343; RV64I-LABEL: atomic_load_i8_unordered:
@@ -52,7 +52,7 @@ define i8 @atomic_load_i8_unordered(ptr %a) nounwind {
5252;
5353; RV64IA-LABEL: atomic_load_i8_unordered:
5454; RV64IA: # %bb.0:
55- ; RV64IA-NEXT: lb a0, 0(a0)
55+ ; RV64IA-NEXT: lbu a0, 0(a0)
5656; RV64IA-NEXT: ret
5757 %1 = load atomic i8 , ptr %a unordered , align 1
5858 ret i8 %1
@@ -71,7 +71,7 @@ define i8 @atomic_load_i8_monotonic(ptr %a) nounwind {
7171;
7272; RV32IA-LABEL: atomic_load_i8_monotonic:
7373; RV32IA: # %bb.0:
74- ; RV32IA-NEXT: lb a0, 0(a0)
74+ ; RV32IA-NEXT: lbu a0, 0(a0)
7575; RV32IA-NEXT: ret
7676;
7777; RV64I-LABEL: atomic_load_i8_monotonic:
@@ -86,7 +86,7 @@ define i8 @atomic_load_i8_monotonic(ptr %a) nounwind {
8686;
8787; RV64IA-LABEL: atomic_load_i8_monotonic:
8888; RV64IA: # %bb.0:
89- ; RV64IA-NEXT: lb a0, 0(a0)
89+ ; RV64IA-NEXT: lbu a0, 0(a0)
9090; RV64IA-NEXT: ret
9191 %1 = load atomic i8 , ptr %a monotonic , align 1
9292 ret i8 %1
@@ -105,13 +105,13 @@ define i8 @atomic_load_i8_acquire(ptr %a) nounwind {
105105;
106106; RV32IA-WMO-LABEL: atomic_load_i8_acquire:
107107; RV32IA-WMO: # %bb.0:
108- ; RV32IA-WMO-NEXT: lb a0, 0(a0)
108+ ; RV32IA-WMO-NEXT: lbu a0, 0(a0)
109109; RV32IA-WMO-NEXT: fence r, rw
110110; RV32IA-WMO-NEXT: ret
111111;
112112; RV32IA-TSO-LABEL: atomic_load_i8_acquire:
113113; RV32IA-TSO: # %bb.0:
114- ; RV32IA-TSO-NEXT: lb a0, 0(a0)
114+ ; RV32IA-TSO-NEXT: lbu a0, 0(a0)
115115; RV32IA-TSO-NEXT: ret
116116;
117117; RV64I-LABEL: atomic_load_i8_acquire:
@@ -126,35 +126,35 @@ define i8 @atomic_load_i8_acquire(ptr %a) nounwind {
126126;
127127; RV64IA-WMO-LABEL: atomic_load_i8_acquire:
128128; RV64IA-WMO: # %bb.0:
129- ; RV64IA-WMO-NEXT: lb a0, 0(a0)
129+ ; RV64IA-WMO-NEXT: lbu a0, 0(a0)
130130; RV64IA-WMO-NEXT: fence r, rw
131131; RV64IA-WMO-NEXT: ret
132132;
133133; RV64IA-TSO-LABEL: atomic_load_i8_acquire:
134134; RV64IA-TSO: # %bb.0:
135- ; RV64IA-TSO-NEXT: lb a0, 0(a0)
135+ ; RV64IA-TSO-NEXT: lbu a0, 0(a0)
136136; RV64IA-TSO-NEXT: ret
137137;
138138; RV32IA-WMO-TRAILING-FENCE-LABEL: atomic_load_i8_acquire:
139139; 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)
141141; RV32IA-WMO-TRAILING-FENCE-NEXT: fence r, rw
142142; RV32IA-WMO-TRAILING-FENCE-NEXT: ret
143143;
144144; RV32IA-TSO-TRAILING-FENCE-LABEL: atomic_load_i8_acquire:
145145; 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)
147147; RV32IA-TSO-TRAILING-FENCE-NEXT: ret
148148;
149149; RV64IA-WMO-TRAILING-FENCE-LABEL: atomic_load_i8_acquire:
150150; 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)
152152; RV64IA-WMO-TRAILING-FENCE-NEXT: fence r, rw
153153; RV64IA-WMO-TRAILING-FENCE-NEXT: ret
154154;
155155; RV64IA-TSO-TRAILING-FENCE-LABEL: atomic_load_i8_acquire:
156156; 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)
158158; RV64IA-TSO-TRAILING-FENCE-NEXT: ret
159159 %1 = load atomic i8 , ptr %a acquire , align 1
160160 ret i8 %1
@@ -174,14 +174,14 @@ define i8 @atomic_load_i8_seq_cst(ptr %a) nounwind {
174174; RV32IA-WMO-LABEL: atomic_load_i8_seq_cst:
175175; RV32IA-WMO: # %bb.0:
176176; RV32IA-WMO-NEXT: fence rw, rw
177- ; RV32IA-WMO-NEXT: lb a0, 0(a0)
177+ ; RV32IA-WMO-NEXT: lbu a0, 0(a0)
178178; RV32IA-WMO-NEXT: fence r, rw
179179; RV32IA-WMO-NEXT: ret
180180;
181181; RV32IA-TSO-LABEL: atomic_load_i8_seq_cst:
182182; RV32IA-TSO: # %bb.0:
183183; RV32IA-TSO-NEXT: fence rw, rw
184- ; RV32IA-TSO-NEXT: lb a0, 0(a0)
184+ ; RV32IA-TSO-NEXT: lbu a0, 0(a0)
185185; RV32IA-TSO-NEXT: ret
186186;
187187; RV64I-LABEL: atomic_load_i8_seq_cst:
@@ -197,40 +197,40 @@ define i8 @atomic_load_i8_seq_cst(ptr %a) nounwind {
197197; RV64IA-WMO-LABEL: atomic_load_i8_seq_cst:
198198; RV64IA-WMO: # %bb.0:
199199; RV64IA-WMO-NEXT: fence rw, rw
200- ; RV64IA-WMO-NEXT: lb a0, 0(a0)
200+ ; RV64IA-WMO-NEXT: lbu a0, 0(a0)
201201; RV64IA-WMO-NEXT: fence r, rw
202202; RV64IA-WMO-NEXT: ret
203203;
204204; RV64IA-TSO-LABEL: atomic_load_i8_seq_cst:
205205; RV64IA-TSO: # %bb.0:
206206; RV64IA-TSO-NEXT: fence rw, rw
207- ; RV64IA-TSO-NEXT: lb a0, 0(a0)
207+ ; RV64IA-TSO-NEXT: lbu a0, 0(a0)
208208; RV64IA-TSO-NEXT: ret
209209;
210210; RV32IA-WMO-TRAILING-FENCE-LABEL: atomic_load_i8_seq_cst:
211211; RV32IA-WMO-TRAILING-FENCE: # %bb.0:
212212; 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)
214214; RV32IA-WMO-TRAILING-FENCE-NEXT: fence r, rw
215215; RV32IA-WMO-TRAILING-FENCE-NEXT: ret
216216;
217217; RV32IA-TSO-TRAILING-FENCE-LABEL: atomic_load_i8_seq_cst:
218218; RV32IA-TSO-TRAILING-FENCE: # %bb.0:
219219; 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)
221221; RV32IA-TSO-TRAILING-FENCE-NEXT: ret
222222;
223223; RV64IA-WMO-TRAILING-FENCE-LABEL: atomic_load_i8_seq_cst:
224224; RV64IA-WMO-TRAILING-FENCE: # %bb.0:
225225; 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)
227227; RV64IA-WMO-TRAILING-FENCE-NEXT: fence r, rw
228228; RV64IA-WMO-TRAILING-FENCE-NEXT: ret
229229;
230230; RV64IA-TSO-TRAILING-FENCE-LABEL: atomic_load_i8_seq_cst:
231231; RV64IA-TSO-TRAILING-FENCE: # %bb.0:
232232; 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)
234234; RV64IA-TSO-TRAILING-FENCE-NEXT: ret
235235 %1 = load atomic i8 , ptr %a seq_cst , align 1
236236 ret i8 %1
0 commit comments