@@ -301,14 +301,13 @@ define i16 @scalar_i16_unsigned_reg_reg(i16 %a1, i16 %a2) nounwind {
301
301
define i16 @scalar_i16_signed_mem_reg (ptr %a1_addr , i16 %a2 ) nounwind {
302
302
; CHECK-LABEL: scalar_i16_signed_mem_reg:
303
303
; CHECK: // %bb.0:
304
- ; CHECK-NEXT: sxth w9, w1
305
- ; CHECK-NEXT: ldrsh w10, [x0]
304
+ ; CHECK-NEXT: ldrsh w9, [x0]
306
305
; CHECK-NEXT: mov w8, #-1 // =0xffffffff
307
- ; CHECK-NEXT: subs w9, w10, w9
308
- ; CHECK-NEXT: cneg w9, w9, mi
306
+ ; CHECK-NEXT: subs w10, w9, w1, sxth
309
307
; CHECK-NEXT: cneg w8, w8, le
310
- ; CHECK-NEXT: lsr w9, w9, #1
311
- ; CHECK-NEXT: madd w0, w9, w8, w10
308
+ ; CHECK-NEXT: cneg w10, w10, mi
309
+ ; CHECK-NEXT: lsr w10, w10, #1
310
+ ; CHECK-NEXT: madd w0, w10, w8, w9
312
311
; CHECK-NEXT: ret
313
312
%a1 = load i16 , ptr %a1_addr
314
313
%t3 = icmp sgt i16 %a1 , %a2 ; signed
@@ -426,14 +425,13 @@ define i8 @scalar_i8_unsigned_reg_reg(i8 %a1, i8 %a2) nounwind {
426
425
define i8 @scalar_i8_signed_mem_reg (ptr %a1_addr , i8 %a2 ) nounwind {
427
426
; CHECK-LABEL: scalar_i8_signed_mem_reg:
428
427
; CHECK: // %bb.0:
429
- ; CHECK-NEXT: sxtb w9, w1
430
- ; CHECK-NEXT: ldrsb w10, [x0]
428
+ ; CHECK-NEXT: ldrsb w9, [x0]
431
429
; CHECK-NEXT: mov w8, #-1 // =0xffffffff
432
- ; CHECK-NEXT: subs w9, w10, w9
433
- ; CHECK-NEXT: cneg w9, w9, mi
430
+ ; CHECK-NEXT: subs w10, w9, w1, sxtb
434
431
; CHECK-NEXT: cneg w8, w8, le
435
- ; CHECK-NEXT: lsr w9, w9, #1
436
- ; CHECK-NEXT: madd w0, w9, w8, w10
432
+ ; CHECK-NEXT: cneg w10, w10, mi
433
+ ; CHECK-NEXT: lsr w10, w10, #1
434
+ ; CHECK-NEXT: madd w0, w10, w8, w9
437
435
; CHECK-NEXT: ret
438
436
%a1 = load i8 , ptr %a1_addr
439
437
%t3 = icmp sgt i8 %a1 , %a2 ; signed
0 commit comments