Skip to content

Commit b58e22f

Browse files
committed
Update ARM tests after merge
1 parent 0f685ca commit b58e22f

File tree

2 files changed

+120
-120
lines changed

2 files changed

+120
-120
lines changed

llvm/test/CodeGen/ARM/extract-bits.ll

Lines changed: 74 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -316,28 +316,28 @@ define i64 @bextr64_a0(i64 %val, i64 %numskipbits, i64 %numlowbits) nounwind {
316316
;
317317
; V7A-LABEL: bextr64_a0:
318318
; V7A: @ %bb.0:
319-
; V7A-NEXT: .save {r4, lr}
320-
; V7A-NEXT: push {r4, lr}
321-
; V7A-NEXT: ldr r12, [sp, #8]
322-
; V7A-NEXT: mov lr, #1
319+
; V7A-NEXT: .save {r4, r5, r11, lr}
320+
; V7A-NEXT: push {r4, r5, r11, lr}
321+
; V7A-NEXT: ldr lr, [sp, #16]
322+
; V7A-NEXT: mov r5, #1
323323
; V7A-NEXT: lsr r0, r0, r2
324-
; V7A-NEXT: rsb r3, r12, #32
325-
; V7A-NEXT: subs r4, r12, #32
326-
; V7A-NEXT: lsr r3, lr, r3
327-
; V7A-NEXT: lslpl r3, lr, r4
328-
; V7A-NEXT: lsl r4, lr, r12
329-
; V7A-NEXT: movwpl r4, #0
330-
; V7A-NEXT: subs r4, r4, #1
331-
; V7A-NEXT: sbc r12, r3, #0
332-
; V7A-NEXT: rsb r3, r2, #32
333-
; V7A-NEXT: orr r0, r0, r1, lsl r3
334-
; V7A-NEXT: subs r3, r2, #32
335-
; V7A-NEXT: lsrpl r0, r1, r3
324+
; V7A-NEXT: rsb r12, lr, #32
325+
; V7A-NEXT: subs r4, lr, #32
326+
; V7A-NEXT: lsr r3, r5, r12
327+
; V7A-NEXT: lslpl r3, r5, r4
328+
; V7A-NEXT: lsl r5, r5, lr
329+
; V7A-NEXT: movwpl r5, #0
330+
; V7A-NEXT: rsb r4, r2, #32
331+
; V7A-NEXT: subs r5, r5, #1
332+
; V7A-NEXT: sbc r3, r3, #0
333+
; V7A-NEXT: orr r0, r0, r1, lsl r4
334+
; V7A-NEXT: subs r4, r2, #32
335+
; V7A-NEXT: lsrpl r0, r1, r4
336336
; V7A-NEXT: lsr r1, r1, r2
337337
; V7A-NEXT: movwpl r1, #0
338-
; V7A-NEXT: and r0, r4, r0
339-
; V7A-NEXT: and r1, r12, r1
340-
; V7A-NEXT: pop {r4, pc}
338+
; V7A-NEXT: and r0, r5, r0
339+
; V7A-NEXT: and r1, r3, r1
340+
; V7A-NEXT: pop {r4, r5, r11, pc}
341341
;
342342
; V7A-T-LABEL: bextr64_a0:
343343
; V7A-T: @ %bb.0:
@@ -434,28 +434,28 @@ define i64 @bextr64_a0_arithmetic(i64 %val, i64 %numskipbits, i64 %numlowbits) n
434434
;
435435
; V7A-LABEL: bextr64_a0_arithmetic:
436436
; V7A: @ %bb.0:
437-
; V7A-NEXT: .save {r4, lr}
438-
; V7A-NEXT: push {r4, lr}
439-
; V7A-NEXT: ldr r12, [sp, #8]
440-
; V7A-NEXT: mov lr, #1
437+
; V7A-NEXT: .save {r4, r5, r11, lr}
438+
; V7A-NEXT: push {r4, r5, r11, lr}
439+
; V7A-NEXT: ldr lr, [sp, #16]
440+
; V7A-NEXT: mov r5, #1
441441
; V7A-NEXT: lsr r0, r0, r2
442-
; V7A-NEXT: rsb r3, r12, #32
443-
; V7A-NEXT: subs r4, r12, #32
444-
; V7A-NEXT: lsr r3, lr, r3
445-
; V7A-NEXT: lslpl r3, lr, r4
446-
; V7A-NEXT: lsl r4, lr, r12
447-
; V7A-NEXT: movwpl r4, #0
448-
; V7A-NEXT: subs r4, r4, #1
449-
; V7A-NEXT: sbc r12, r3, #0
450-
; V7A-NEXT: rsb r3, r2, #32
451-
; V7A-NEXT: orr r0, r0, r1, lsl r3
452-
; V7A-NEXT: subs r3, r2, #32
442+
; V7A-NEXT: rsb r12, lr, #32
443+
; V7A-NEXT: subs r4, lr, #32
444+
; V7A-NEXT: lsr r3, r5, r12
445+
; V7A-NEXT: lslpl r3, r5, r4
446+
; V7A-NEXT: lsl r5, r5, lr
447+
; V7A-NEXT: movwpl r5, #0
448+
; V7A-NEXT: rsb r4, r2, #32
449+
; V7A-NEXT: subs r5, r5, #1
450+
; V7A-NEXT: sbc r3, r3, #0
451+
; V7A-NEXT: orr r0, r0, r1, lsl r4
452+
; V7A-NEXT: subs r4, r2, #32
453453
; V7A-NEXT: asr r2, r1, r2
454-
; V7A-NEXT: asrpl r0, r1, r3
455454
; V7A-NEXT: asrpl r2, r1, #31
456-
; V7A-NEXT: and r0, r4, r0
457-
; V7A-NEXT: and r1, r12, r2
458-
; V7A-NEXT: pop {r4, pc}
455+
; V7A-NEXT: asrpl r0, r1, r4
456+
; V7A-NEXT: and r1, r3, r2
457+
; V7A-NEXT: and r0, r5, r0
458+
; V7A-NEXT: pop {r4, r5, r11, pc}
459459
;
460460
; V7A-T-LABEL: bextr64_a0_arithmetic:
461461
; V7A-T: @ %bb.0:
@@ -911,28 +911,28 @@ define i64 @bextr64_a4_commutative(i64 %val, i64 %numskipbits, i64 %numlowbits)
911911
;
912912
; V7A-LABEL: bextr64_a4_commutative:
913913
; V7A: @ %bb.0:
914-
; V7A-NEXT: .save {r4, lr}
915-
; V7A-NEXT: push {r4, lr}
916-
; V7A-NEXT: ldr r12, [sp, #8]
917-
; V7A-NEXT: mov lr, #1
914+
; V7A-NEXT: .save {r4, r5, r11, lr}
915+
; V7A-NEXT: push {r4, r5, r11, lr}
916+
; V7A-NEXT: ldr lr, [sp, #16]
917+
; V7A-NEXT: mov r5, #1
918918
; V7A-NEXT: lsr r0, r0, r2
919-
; V7A-NEXT: rsb r3, r12, #32
920-
; V7A-NEXT: subs r4, r12, #32
921-
; V7A-NEXT: lsr r3, lr, r3
922-
; V7A-NEXT: lslpl r3, lr, r4
923-
; V7A-NEXT: lsl r4, lr, r12
924-
; V7A-NEXT: movwpl r4, #0
925-
; V7A-NEXT: subs r4, r4, #1
926-
; V7A-NEXT: sbc r12, r3, #0
927-
; V7A-NEXT: rsb r3, r2, #32
928-
; V7A-NEXT: orr r0, r0, r1, lsl r3
929-
; V7A-NEXT: subs r3, r2, #32
930-
; V7A-NEXT: lsrpl r0, r1, r3
919+
; V7A-NEXT: rsb r12, lr, #32
920+
; V7A-NEXT: subs r4, lr, #32
921+
; V7A-NEXT: lsr r3, r5, r12
922+
; V7A-NEXT: lslpl r3, r5, r4
923+
; V7A-NEXT: lsl r5, r5, lr
924+
; V7A-NEXT: movwpl r5, #0
925+
; V7A-NEXT: rsb r4, r2, #32
926+
; V7A-NEXT: subs r5, r5, #1
927+
; V7A-NEXT: sbc r3, r3, #0
928+
; V7A-NEXT: orr r0, r0, r1, lsl r4
929+
; V7A-NEXT: subs r4, r2, #32
930+
; V7A-NEXT: lsrpl r0, r1, r4
931931
; V7A-NEXT: lsr r1, r1, r2
932932
; V7A-NEXT: movwpl r1, #0
933-
; V7A-NEXT: and r0, r0, r4
934-
; V7A-NEXT: and r1, r1, r12
935-
; V7A-NEXT: pop {r4, pc}
933+
; V7A-NEXT: and r0, r0, r5
934+
; V7A-NEXT: and r1, r1, r3
935+
; V7A-NEXT: pop {r4, r5, r11, pc}
936936
;
937937
; V7A-T-LABEL: bextr64_a4_commutative:
938938
; V7A-T: @ %bb.0:
@@ -3456,22 +3456,22 @@ define i64 @bextr64_d1_indexzext(i64 %val, i8 %numskipbits, i8 %numlowbits) noun
34563456
; V7M-NEXT: uxtb r2, r2
34573457
; V7M-NEXT: it pl
34583458
; V7M-NEXT: movpl r1, #0
3459-
; V7M-NEXT: rsb.w r12, r2, #32
3459+
; V7M-NEXT: rsb.w r3, r2, #32
34603460
; V7M-NEXT: lsls r1, r2
3461-
; V7M-NEXT: sub.w r3, r2, #32
3462-
; V7M-NEXT: lsr.w r4, r0, r12
3461+
; V7M-NEXT: sub.w r12, r2, #32
3462+
; V7M-NEXT: lsr.w r4, r0, r3
34633463
; V7M-NEXT: orrs r1, r4
3464-
; V7M-NEXT: cmp r3, #0
3464+
; V7M-NEXT: cmp.w r12, #0
34653465
; V7M-NEXT: it pl
3466-
; V7M-NEXT: lslpl.w r1, r0, r3
3466+
; V7M-NEXT: lslpl.w r1, r0, r12
34673467
; V7M-NEXT: lsl.w r0, r0, r2
3468-
; V7M-NEXT: lsl.w r4, r1, r12
3468+
; V7M-NEXT: lsl.w r3, r1, r3
34693469
; V7M-NEXT: it pl
34703470
; V7M-NEXT: movpl r0, #0
34713471
; V7M-NEXT: lsr.w r0, r0, r2
3472-
; V7M-NEXT: orr.w r0, r0, r4
3472+
; V7M-NEXT: orr.w r0, r0, r3
34733473
; V7M-NEXT: it pl
3474-
; V7M-NEXT: lsrpl.w r0, r1, r3
3474+
; V7M-NEXT: lsrpl.w r0, r1, r12
34753475
; V7M-NEXT: lsr.w r1, r1, r2
34763476
; V7M-NEXT: it pl
34773477
; V7M-NEXT: movpl r1, #0
@@ -3715,26 +3715,26 @@ define i64 @bextr64_d3_load_indexzext(ptr %w, i8 %numskipbits, i8 %numlowbits) n
37153715
; V7M-NEXT: uxtb r2, r2
37163716
; V7M-NEXT: lsl.w r0, lr, r0
37173717
; V7M-NEXT: orr.w r0, r0, r12
3718-
; V7M-NEXT: rsb.w r12, r2, #32
3718+
; V7M-NEXT: sub.w r12, r2, #32
37193719
; V7M-NEXT: it pl
37203720
; V7M-NEXT: lsrpl.w r0, lr, r3
37213721
; V7M-NEXT: it pl
37223722
; V7M-NEXT: movpl r1, #0
3723+
; V7M-NEXT: rsb.w r3, r2, #32
37233724
; V7M-NEXT: lsls r1, r2
3724-
; V7M-NEXT: sub.w r3, r2, #32
3725-
; V7M-NEXT: lsr.w r4, r0, r12
3726-
; V7M-NEXT: orrs r1, r4
3727-
; V7M-NEXT: cmp r3, #0
3725+
; V7M-NEXT: cmp.w r12, #0
3726+
; V7M-NEXT: lsr.w r4, r0, r3
3727+
; V7M-NEXT: orr.w r1, r1, r4
37283728
; V7M-NEXT: it pl
3729-
; V7M-NEXT: lslpl.w r1, r0, r3
3729+
; V7M-NEXT: lslpl.w r1, r0, r12
37303730
; V7M-NEXT: lsl.w r0, r0, r2
3731-
; V7M-NEXT: lsl.w r4, r1, r12
37323731
; V7M-NEXT: it pl
37333732
; V7M-NEXT: movpl r0, #0
3733+
; V7M-NEXT: lsl.w r3, r1, r3
37343734
; V7M-NEXT: lsr.w r0, r0, r2
3735-
; V7M-NEXT: orr.w r0, r0, r4
3735+
; V7M-NEXT: orr.w r0, r0, r3
37363736
; V7M-NEXT: it pl
3737-
; V7M-NEXT: lsrpl.w r0, r1, r3
3737+
; V7M-NEXT: lsrpl.w r0, r1, r12
37383738
; V7M-NEXT: lsr.w r1, r1, r2
37393739
; V7M-NEXT: it pl
37403740
; V7M-NEXT: movpl r1, #0

llvm/test/CodeGen/ARM/extract-lowbits.ll

Lines changed: 46 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -243,15 +243,15 @@ define i64 @bzhi64_a0(i64 %val, i64 %numlowbits) nounwind {
243243
; V7A: @ %bb.0:
244244
; V7A-NEXT: .save {r11, lr}
245245
; V7A-NEXT: push {r11, lr}
246-
; V7A-NEXT: rsb r3, r2, #32
247-
; V7A-NEXT: mov r12, #1
248-
; V7A-NEXT: lsr lr, r12, r3
246+
; V7A-NEXT: rsb r12, r2, #32
247+
; V7A-NEXT: mov lr, #1
249248
; V7A-NEXT: subs r3, r2, #32
250-
; V7A-NEXT: lsl r2, r12, r2
249+
; V7A-NEXT: lsl r2, lr, r2
250+
; V7A-NEXT: lsr r12, lr, r12
251251
; V7A-NEXT: movwpl r2, #0
252-
; V7A-NEXT: lslpl lr, r12, r3
252+
; V7A-NEXT: lslpl r12, lr, r3
253253
; V7A-NEXT: subs r2, r2, #1
254-
; V7A-NEXT: sbc r3, lr, #0
254+
; V7A-NEXT: sbc r3, r12, #0
255255
; V7A-NEXT: and r0, r2, r0
256256
; V7A-NEXT: and r1, r3, r1
257257
; V7A-NEXT: pop {r11, pc}
@@ -323,15 +323,15 @@ define i64 @bzhi64_a0_masked(i64 %val, i64 %numlowbits) nounwind {
323323
; V7A-NEXT: .save {r11, lr}
324324
; V7A-NEXT: push {r11, lr}
325325
; V7A-NEXT: and r2, r2, #63
326-
; V7A-NEXT: mov r12, #1
327-
; V7A-NEXT: rsb r3, r2, #32
328-
; V7A-NEXT: lsr lr, r12, r3
326+
; V7A-NEXT: mov lr, #1
327+
; V7A-NEXT: rsb r12, r2, #32
329328
; V7A-NEXT: subs r3, r2, #32
330-
; V7A-NEXT: lsl r2, r12, r2
329+
; V7A-NEXT: lsl r2, lr, r2
330+
; V7A-NEXT: lsr r12, lr, r12
331331
; V7A-NEXT: movwpl r2, #0
332-
; V7A-NEXT: lslpl lr, r12, r3
332+
; V7A-NEXT: lslpl r12, lr, r3
333333
; V7A-NEXT: subs r2, r2, #1
334-
; V7A-NEXT: sbc r3, lr, #0
334+
; V7A-NEXT: sbc r3, r12, #0
335335
; V7A-NEXT: and r0, r2, r0
336336
; V7A-NEXT: and r1, r3, r1
337337
; V7A-NEXT: pop {r11, pc}
@@ -404,15 +404,15 @@ define i64 @bzhi64_a1_indexzext(i64 %val, i8 zeroext %numlowbits) nounwind {
404404
; V7A: @ %bb.0:
405405
; V7A-NEXT: .save {r11, lr}
406406
; V7A-NEXT: push {r11, lr}
407-
; V7A-NEXT: rsb r3, r2, #32
408-
; V7A-NEXT: mov r12, #1
409-
; V7A-NEXT: lsr lr, r12, r3
407+
; V7A-NEXT: rsb r12, r2, #32
408+
; V7A-NEXT: mov lr, #1
410409
; V7A-NEXT: subs r3, r2, #32
411-
; V7A-NEXT: lsl r2, r12, r2
410+
; V7A-NEXT: lsl r2, lr, r2
411+
; V7A-NEXT: lsr r12, lr, r12
412412
; V7A-NEXT: movwpl r2, #0
413-
; V7A-NEXT: lslpl lr, r12, r3
413+
; V7A-NEXT: lslpl r12, lr, r3
414414
; V7A-NEXT: subs r2, r2, #1
415-
; V7A-NEXT: sbc r3, lr, #0
415+
; V7A-NEXT: sbc r3, r12, #0
416416
; V7A-NEXT: and r0, r2, r0
417417
; V7A-NEXT: and r1, r3, r1
418418
; V7A-NEXT: pop {r11, pc}
@@ -644,15 +644,15 @@ define i64 @bzhi64_a4_commutative(i64 %val, i64 %numlowbits) nounwind {
644644
; V7A: @ %bb.0:
645645
; V7A-NEXT: .save {r11, lr}
646646
; V7A-NEXT: push {r11, lr}
647-
; V7A-NEXT: rsb r3, r2, #32
648-
; V7A-NEXT: mov r12, #1
649-
; V7A-NEXT: lsr lr, r12, r3
647+
; V7A-NEXT: rsb r12, r2, #32
648+
; V7A-NEXT: mov lr, #1
650649
; V7A-NEXT: subs r3, r2, #32
651-
; V7A-NEXT: lsl r2, r12, r2
650+
; V7A-NEXT: lsl r2, lr, r2
651+
; V7A-NEXT: lsr r12, lr, r12
652652
; V7A-NEXT: movwpl r2, #0
653-
; V7A-NEXT: lslpl lr, r12, r3
653+
; V7A-NEXT: lslpl r12, lr, r3
654654
; V7A-NEXT: subs r2, r2, #1
655-
; V7A-NEXT: sbc r3, lr, #0
655+
; V7A-NEXT: sbc r3, r12, #0
656656
; V7A-NEXT: and r0, r0, r2
657657
; V7A-NEXT: and r1, r1, r3
658658
; V7A-NEXT: pop {r11, pc}
@@ -2144,23 +2144,23 @@ define i64 @bzhi64_d2_load(ptr %w, i64 %numlowbits) nounwind {
21442144
;
21452145
; V7A-LABEL: bzhi64_d2_load:
21462146
; V7A: @ %bb.0:
2147-
; V7A-NEXT: .save {r5, r7, r11, lr}
2148-
; V7A-NEXT: push {r5, r7, r11, lr}
2147+
; V7A-NEXT: .save {r5, lr}
2148+
; V7A-NEXT: push {r5, lr}
21492149
; V7A-NEXT: rsb r3, r2, #64
2150-
; V7A-NEXT: ldm r0, {r0, r7}
2151-
; V7A-NEXT: rsb r1, r3, #32
2150+
; V7A-NEXT: ldm r0, {r0, r5}
2151+
; V7A-NEXT: rsb r12, r3, #32
21522152
; V7A-NEXT: rsbs r2, r2, #32
2153-
; V7A-NEXT: lsr r5, r0, r1
2154-
; V7A-NEXT: orr r7, r5, r7, lsl r3
2155-
; V7A-NEXT: lslpl r7, r0, r2
2153+
; V7A-NEXT: lsr r1, r0, r12
2154+
; V7A-NEXT: orr r1, r1, r5, lsl r3
2155+
; V7A-NEXT: lslpl r1, r0, r2
21562156
; V7A-NEXT: lsl r0, r0, r3
21572157
; V7A-NEXT: movwpl r0, #0
21582158
; V7A-NEXT: lsr r0, r0, r3
2159-
; V7A-NEXT: orr r0, r0, r7, lsl r1
2160-
; V7A-NEXT: lsr r1, r7, r3
2161-
; V7A-NEXT: lsrpl r0, r7, r2
2159+
; V7A-NEXT: orr r0, r0, r1, lsl r12
2160+
; V7A-NEXT: lsrpl r0, r1, r2
2161+
; V7A-NEXT: lsr r1, r1, r3
21622162
; V7A-NEXT: movwpl r1, #0
2163-
; V7A-NEXT: pop {r5, r7, r11, pc}
2163+
; V7A-NEXT: pop {r5, pc}
21642164
;
21652165
; V7A-T-LABEL: bzhi64_d2_load:
21662166
; V7A-T: @ %bb.0:
@@ -2237,26 +2237,26 @@ define i64 @bzhi64_d3_load_indexzext(ptr %w, i8 %numlowbits) nounwind {
22372237
;
22382238
; V7A-LABEL: bzhi64_d3_load_indexzext:
22392239
; V7A: @ %bb.0:
2240-
; V7A-NEXT: .save {r5, r7, r11, lr}
2241-
; V7A-NEXT: push {r5, r7, r11, lr}
2240+
; V7A-NEXT: .save {r5, lr}
2241+
; V7A-NEXT: push {r5, lr}
22422242
; V7A-NEXT: rsb r1, r1, #64
2243-
; V7A-NEXT: ldm r0, {r0, r7}
2243+
; V7A-NEXT: ldm r0, {r0, r5}
22442244
; V7A-NEXT: uxtb r2, r1
2245-
; V7A-NEXT: rsb r3, r2, #32
2246-
; V7A-NEXT: lsr r5, r0, r3
2247-
; V7A-NEXT: orr r7, r5, r7, lsl r2
2245+
; V7A-NEXT: rsb r12, r2, #32
2246+
; V7A-NEXT: lsr r3, r0, r12
2247+
; V7A-NEXT: orr r3, r3, r5, lsl r2
22482248
; V7A-NEXT: mvn r5, #31
22492249
; V7A-NEXT: uxtab r1, r5, r1
22502250
; V7A-NEXT: cmp r1, #0
2251-
; V7A-NEXT: lslpl r7, r0, r1
2251+
; V7A-NEXT: lslpl r3, r0, r1
22522252
; V7A-NEXT: lsl r0, r0, r2
22532253
; V7A-NEXT: movwpl r0, #0
22542254
; V7A-NEXT: lsr r0, r0, r2
2255-
; V7A-NEXT: orr r0, r0, r7, lsl r3
2256-
; V7A-NEXT: lsrpl r0, r7, r1
2257-
; V7A-NEXT: lsr r1, r7, r2
2255+
; V7A-NEXT: orr r0, r0, r3, lsl r12
2256+
; V7A-NEXT: lsrpl r0, r3, r1
2257+
; V7A-NEXT: lsr r1, r3, r2
22582258
; V7A-NEXT: movwpl r1, #0
2259-
; V7A-NEXT: pop {r5, r7, r11, pc}
2259+
; V7A-NEXT: pop {r5, pc}
22602260
;
22612261
; V7A-T-LABEL: bzhi64_d3_load_indexzext:
22622262
; V7A-T: @ %bb.0:

0 commit comments

Comments
 (0)