Skip to content

Commit 73b8fcf

Browse files
committed
test: z80 codegen test updates.
python3 ../llvm/utils/update_llc_test_checks.py --llc-binary ./bin/llc ../llvm/test/CodeGen/Z80/*.ll
1 parent 53d816d commit 73b8fcf

File tree

4 files changed

+131
-246
lines changed

4 files changed

+131
-246
lines changed

llvm/test/CodeGen/Z80/intrinsics.ll

+37-134
Original file line numberDiff line numberDiff line change
@@ -2768,47 +2768,23 @@ define i8 @ctlz.i8(i8) {
27682768
; Z80: ; %bb.0:
27692769
; Z80-NEXT: ld iy, 0
27702770
; Z80-NEXT: add iy, sp
2771-
; Z80-NEXT: ld l, (iy + 2)
2772-
; Z80-NEXT: ld a, l
2773-
; Z80-NEXT: or a, a
2774-
; Z80-NEXT: jr nz, BB31_2
2775-
; Z80-NEXT: ; %bb.1:
2776-
; Z80-NEXT: ld a, 8
2777-
; Z80-NEXT: ret
2778-
; Z80-NEXT: BB31_2: ; %cond.false
2779-
; Z80-NEXT: ld a, l
2771+
; Z80-NEXT: ld a, (iy + 2)
27802772
; Z80-NEXT: call __bctlz
27812773
; Z80-NEXT: ret
27822774
;
27832775
; EZ80-CODE16-LABEL: ctlz.i8:
27842776
; EZ80-CODE16: ; %bb.0:
27852777
; EZ80-CODE16-NEXT: ld iy, 0
27862778
; EZ80-CODE16-NEXT: add iy, sp
2787-
; EZ80-CODE16-NEXT: ld l, (iy + 2)
2788-
; EZ80-CODE16-NEXT: ld a, l
2789-
; EZ80-CODE16-NEXT: or a, a
2790-
; EZ80-CODE16-NEXT: jr nz, BB31_2
2791-
; EZ80-CODE16-NEXT: ; %bb.1:
2792-
; EZ80-CODE16-NEXT: ld a, 8
2793-
; EZ80-CODE16-NEXT: ret
2794-
; EZ80-CODE16-NEXT: BB31_2: ; %cond.false
2795-
; EZ80-CODE16-NEXT: ld a, l
2779+
; EZ80-CODE16-NEXT: ld a, (iy + 2)
27962780
; EZ80-CODE16-NEXT: call __bctlz
27972781
; EZ80-CODE16-NEXT: ret
27982782
;
27992783
; EZ80-LABEL: ctlz.i8:
28002784
; EZ80: ; %bb.0:
28012785
; EZ80-NEXT: ld iy, 0
28022786
; EZ80-NEXT: add iy, sp
2803-
; EZ80-NEXT: ld l, (iy + 3)
2804-
; EZ80-NEXT: ld a, l
2805-
; EZ80-NEXT: or a, a
2806-
; EZ80-NEXT: jr nz, BB31_2
2807-
; EZ80-NEXT: ; %bb.1:
2808-
; EZ80-NEXT: ld a, 8
2809-
; EZ80-NEXT: ret
2810-
; EZ80-NEXT: BB31_2: ; %cond.false
2811-
; EZ80-NEXT: ld a, l
2787+
; EZ80-NEXT: ld a, (iy + 3)
28122788
; EZ80-NEXT: call __bctlz
28132789
; EZ80-NEXT: ret
28142790
call i8 @llvm.ctlz.i8(i8 %0)
@@ -2822,14 +2798,6 @@ define i16 @ctlz.i16(i16) {
28222798
; Z80-NEXT: add iy, sp
28232799
; Z80-NEXT: ld l, (iy + 2)
28242800
; Z80-NEXT: ld h, (iy + 3)
2825-
; Z80-NEXT: add hl, bc
2826-
; Z80-NEXT: or a, a
2827-
; Z80-NEXT: sbc hl, bc
2828-
; Z80-NEXT: jr nz, BB32_2
2829-
; Z80-NEXT: ; %bb.1:
2830-
; Z80-NEXT: ld hl, 16
2831-
; Z80-NEXT: ret
2832-
; Z80-NEXT: BB32_2: ; %cond.false
28332801
; Z80-NEXT: call __sctlz
28342802
; Z80-NEXT: ld l, a
28352803
; Z80-NEXT: ld h, 0
@@ -2840,14 +2808,6 @@ define i16 @ctlz.i16(i16) {
28402808
; EZ80-CODE16-NEXT: ld iy, 0
28412809
; EZ80-CODE16-NEXT: add iy, sp
28422810
; EZ80-CODE16-NEXT: ld hl, (iy + 2)
2843-
; EZ80-CODE16-NEXT: add hl, bc
2844-
; EZ80-CODE16-NEXT: or a, a
2845-
; EZ80-CODE16-NEXT: sbc hl, bc
2846-
; EZ80-CODE16-NEXT: jr nz, BB32_2
2847-
; EZ80-CODE16-NEXT: ; %bb.1:
2848-
; EZ80-CODE16-NEXT: ld hl, 16
2849-
; EZ80-CODE16-NEXT: ret
2850-
; EZ80-CODE16-NEXT: BB32_2: ; %cond.false
28512811
; EZ80-CODE16-NEXT: call __sctlz
28522812
; EZ80-CODE16-NEXT: ld l, a
28532813
; EZ80-CODE16-NEXT: ld h, 0
@@ -2858,14 +2818,6 @@ define i16 @ctlz.i16(i16) {
28582818
; EZ80-NEXT: ld iy, 0
28592819
; EZ80-NEXT: add iy, sp
28602820
; EZ80-NEXT: ld hl, (iy + 3)
2861-
; EZ80-NEXT: add.sis hl, bc
2862-
; EZ80-NEXT: or a, a
2863-
; EZ80-NEXT: sbc.sis hl, bc
2864-
; EZ80-NEXT: jr nz, BB32_2
2865-
; EZ80-NEXT: ; %bb.1:
2866-
; EZ80-NEXT: ld.sis hl, 16
2867-
; EZ80-NEXT: ret
2868-
; EZ80-NEXT: BB32_2: ; %cond.false
28692821
; EZ80-NEXT: ; kill: def $hl killed $hl killed $uhl
28702822
; EZ80-NEXT: call __sctlz
28712823
; EZ80-NEXT: ld l, a
@@ -2993,13 +2945,6 @@ define i8 @cttz.i8(i8) {
29932945
; Z80-NEXT: add iy, sp
29942946
; Z80-NEXT: ld l, (iy + 2)
29952947
; Z80-NEXT: ld a, l
2996-
; Z80-NEXT: or a, a
2997-
; Z80-NEXT: jr nz, BB35_2
2998-
; Z80-NEXT: ; %bb.1:
2999-
; Z80-NEXT: ld a, 8
3000-
; Z80-NEXT: ret
3001-
; Z80-NEXT: BB35_2: ; %cond.false
3002-
; Z80-NEXT: ld a, l
30032948
; Z80-NEXT: cpl
30042949
; Z80-NEXT: dec l
30052950
; Z80-NEXT: and a, l
@@ -3012,13 +2957,6 @@ define i8 @cttz.i8(i8) {
30122957
; EZ80-CODE16-NEXT: add iy, sp
30132958
; EZ80-CODE16-NEXT: ld l, (iy + 2)
30142959
; EZ80-CODE16-NEXT: ld a, l
3015-
; EZ80-CODE16-NEXT: or a, a
3016-
; EZ80-CODE16-NEXT: jr nz, BB35_2
3017-
; EZ80-CODE16-NEXT: ; %bb.1:
3018-
; EZ80-CODE16-NEXT: ld a, 8
3019-
; EZ80-CODE16-NEXT: ret
3020-
; EZ80-CODE16-NEXT: BB35_2: ; %cond.false
3021-
; EZ80-CODE16-NEXT: ld a, l
30222960
; EZ80-CODE16-NEXT: cpl
30232961
; EZ80-CODE16-NEXT: dec l
30242962
; EZ80-CODE16-NEXT: and a, l
@@ -3031,13 +2969,6 @@ define i8 @cttz.i8(i8) {
30312969
; EZ80-NEXT: add iy, sp
30322970
; EZ80-NEXT: ld l, (iy + 3)
30332971
; EZ80-NEXT: ld a, l
3034-
; EZ80-NEXT: or a, a
3035-
; EZ80-NEXT: jr nz, BB35_2
3036-
; EZ80-NEXT: ; %bb.1:
3037-
; EZ80-NEXT: ld a, 8
3038-
; EZ80-NEXT: ret
3039-
; EZ80-NEXT: BB35_2: ; %cond.false
3040-
; EZ80-NEXT: ld a, l
30412972
; EZ80-NEXT: cpl
30422973
; EZ80-NEXT: dec l
30432974
; EZ80-NEXT: and a, l
@@ -3052,30 +2983,21 @@ define i16 @cttz.i16(i16) {
30522983
; Z80: ; %bb.0:
30532984
; Z80-NEXT: ld iy, 0
30542985
; Z80-NEXT: add iy, sp
3055-
; Z80-NEXT: ld l, (iy + 2)
3056-
; Z80-NEXT: ld h, (iy + 3)
3057-
; Z80-NEXT: add hl, bc
3058-
; Z80-NEXT: or a, a
3059-
; Z80-NEXT: sbc hl, bc
3060-
; Z80-NEXT: jr nz, BB36_2
3061-
; Z80-NEXT: ; %bb.1:
3062-
; Z80-NEXT: ld hl, 16
3063-
; Z80-NEXT: ret
3064-
; Z80-NEXT: BB36_2: ; %cond.false
3065-
; Z80-NEXT: ld a, l
2986+
; Z80-NEXT: ld c, (iy + 2)
2987+
; Z80-NEXT: ld b, (iy + 3)
2988+
; Z80-NEXT: ld a, c
30662989
; Z80-NEXT: cpl
3067-
; Z80-NEXT: ld e, a
3068-
; Z80-NEXT: ld a, h
2990+
; Z80-NEXT: ld l, a
2991+
; Z80-NEXT: ld a, b
30692992
; Z80-NEXT: cpl
3070-
; Z80-NEXT: ld c, a
3071-
; Z80-NEXT: dec hl
3072-
; Z80-NEXT: ld a, e
3073-
; Z80-NEXT: and a, l
30742993
; Z80-NEXT: ld e, a
3075-
; Z80-NEXT: ld a, c
3076-
; Z80-NEXT: and a, h
3077-
; Z80-NEXT: ld d, a
3078-
; Z80-NEXT: ex de, hl
2994+
; Z80-NEXT: dec bc
2995+
; Z80-NEXT: ld a, l
2996+
; Z80-NEXT: and a, c
2997+
; Z80-NEXT: ld l, a
2998+
; Z80-NEXT: ld a, e
2999+
; Z80-NEXT: and a, b
3000+
; Z80-NEXT: ld h, a
30793001
; Z80-NEXT: call __spopcnt
30803002
; Z80-NEXT: ld l, a
30813003
; Z80-NEXT: ld h, 0
@@ -3085,29 +3007,20 @@ define i16 @cttz.i16(i16) {
30853007
; EZ80-CODE16: ; %bb.0:
30863008
; EZ80-CODE16-NEXT: ld iy, 0
30873009
; EZ80-CODE16-NEXT: add iy, sp
3088-
; EZ80-CODE16-NEXT: ld hl, (iy + 2)
3089-
; EZ80-CODE16-NEXT: add hl, bc
3090-
; EZ80-CODE16-NEXT: or a, a
3091-
; EZ80-CODE16-NEXT: sbc hl, bc
3092-
; EZ80-CODE16-NEXT: jr nz, BB36_2
3093-
; EZ80-CODE16-NEXT: ; %bb.1:
3094-
; EZ80-CODE16-NEXT: ld hl, 16
3095-
; EZ80-CODE16-NEXT: ret
3096-
; EZ80-CODE16-NEXT: BB36_2: ; %cond.false
3097-
; EZ80-CODE16-NEXT: ld a, l
3010+
; EZ80-CODE16-NEXT: ld bc, (iy + 2)
3011+
; EZ80-CODE16-NEXT: ld a, c
30983012
; EZ80-CODE16-NEXT: cpl
3099-
; EZ80-CODE16-NEXT: ld e, a
3100-
; EZ80-CODE16-NEXT: ld a, h
3013+
; EZ80-CODE16-NEXT: ld l, a
3014+
; EZ80-CODE16-NEXT: ld a, b
31013015
; EZ80-CODE16-NEXT: cpl
3102-
; EZ80-CODE16-NEXT: ld c, a
3103-
; EZ80-CODE16-NEXT: dec hl
3104-
; EZ80-CODE16-NEXT: ld a, e
3105-
; EZ80-CODE16-NEXT: and a, l
31063016
; EZ80-CODE16-NEXT: ld e, a
3107-
; EZ80-CODE16-NEXT: ld a, c
3108-
; EZ80-CODE16-NEXT: and a, h
3109-
; EZ80-CODE16-NEXT: ld d, a
3110-
; EZ80-CODE16-NEXT: ex de, hl
3017+
; EZ80-CODE16-NEXT: dec bc
3018+
; EZ80-CODE16-NEXT: ld a, l
3019+
; EZ80-CODE16-NEXT: and a, c
3020+
; EZ80-CODE16-NEXT: ld l, a
3021+
; EZ80-CODE16-NEXT: ld a, e
3022+
; EZ80-CODE16-NEXT: and a, b
3023+
; EZ80-CODE16-NEXT: ld h, a
31113024
; EZ80-CODE16-NEXT: call __spopcnt
31123025
; EZ80-CODE16-NEXT: ld l, a
31133026
; EZ80-CODE16-NEXT: ld h, 0
@@ -3117,30 +3030,20 @@ define i16 @cttz.i16(i16) {
31173030
; EZ80: ; %bb.0:
31183031
; EZ80-NEXT: ld iy, 0
31193032
; EZ80-NEXT: add iy, sp
3120-
; EZ80-NEXT: ld hl, (iy + 3)
3121-
; EZ80-NEXT: add.sis hl, bc
3122-
; EZ80-NEXT: or a, a
3123-
; EZ80-NEXT: sbc.sis hl, bc
3124-
; EZ80-NEXT: jr nz, BB36_2
3125-
; EZ80-NEXT: ; %bb.1:
3126-
; EZ80-NEXT: ld.sis hl, 16
3127-
; EZ80-NEXT: ret
3128-
; EZ80-NEXT: BB36_2: ; %cond.false
3129-
; EZ80-NEXT: ld a, l
3033+
; EZ80-NEXT: ld bc, (iy + 3)
3034+
; EZ80-NEXT: ld a, c
31303035
; EZ80-NEXT: cpl
3131-
; EZ80-NEXT: ld e, a
3132-
; EZ80-NEXT: ld a, h
3036+
; EZ80-NEXT: ld l, a
3037+
; EZ80-NEXT: ld a, b
31333038
; EZ80-NEXT: cpl
3134-
; EZ80-NEXT: ld c, a
3135-
; EZ80-NEXT: dec.sis hl
3136-
; EZ80-NEXT: ld a, e
3137-
; EZ80-NEXT: and a, l
31383039
; EZ80-NEXT: ld e, a
3139-
; EZ80-NEXT: ld a, c
3140-
; EZ80-NEXT: and a, h
3141-
; EZ80-NEXT: ld d, a
3142-
; EZ80-NEXT: ld l, e
3143-
; EZ80-NEXT: ld h, d
3040+
; EZ80-NEXT: dec.sis bc
3041+
; EZ80-NEXT: ld a, l
3042+
; EZ80-NEXT: and a, c
3043+
; EZ80-NEXT: ld l, a
3044+
; EZ80-NEXT: ld a, e
3045+
; EZ80-NEXT: and a, b
3046+
; EZ80-NEXT: ld h, a
31443047
; EZ80-NEXT: call __spopcnt
31453048
; EZ80-NEXT: ld l, a
31463049
; EZ80-NEXT: ld h, 0

llvm/test/CodeGen/Z80/intrinsics24.ll

-18
Original file line numberDiff line numberDiff line change
@@ -240,14 +240,6 @@ define i24 @ctlz.i24(i24) {
240240
; EZ80-NEXT: ld iy, 0
241241
; EZ80-NEXT: add iy, sp
242242
; EZ80-NEXT: ld hl, (iy + 3)
243-
; EZ80-NEXT: add hl, bc
244-
; EZ80-NEXT: or a, a
245-
; EZ80-NEXT: sbc hl, bc
246-
; EZ80-NEXT: jr nz, BB11_2
247-
; EZ80-NEXT: ; %bb.1:
248-
; EZ80-NEXT: ld hl, 24
249-
; EZ80-NEXT: ret
250-
; EZ80-NEXT: BB11_2: ; %cond.false
251243
; EZ80-NEXT: call __ictlz
252244
; EZ80-NEXT: or a, a
253245
; EZ80-NEXT: sbc hl, hl
@@ -264,16 +256,6 @@ define i24 @cttz.i24(i24) {
264256
; EZ80-NEXT: ld iy, 0
265257
; EZ80-NEXT: add iy, sp
266258
; EZ80-NEXT: ld bc, (iy + 3)
267-
; EZ80-NEXT: push bc
268-
; EZ80-NEXT: pop hl
269-
; EZ80-NEXT: add hl, bc
270-
; EZ80-NEXT: or a, a
271-
; EZ80-NEXT: sbc hl, bc
272-
; EZ80-NEXT: jr nz, BB12_2
273-
; EZ80-NEXT: ; %bb.1:
274-
; EZ80-NEXT: ld hl, 24
275-
; EZ80-NEXT: ret
276-
; EZ80-NEXT: BB12_2: ; %cond.false
277259
; EZ80-NEXT: scf
278260
; EZ80-NEXT: sbc hl, hl
279261
; EZ80-NEXT: or a, a

llvm/test/CodeGen/Z80/intrinsics24f.ll

+1-1
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ define double @powi.f64.i24(double, i24) {
6262
; EZ80-NEXT: push hl
6363
; EZ80-NEXT: ld hl, (ix + 6)
6464
; EZ80-NEXT: push hl
65-
; EZ80-NEXT: call _pow
65+
; EZ80-NEXT: call _powl
6666
; EZ80-NEXT: ld sp, ix
6767
; EZ80-NEXT: pop ix
6868
; EZ80-NEXT: ret

0 commit comments

Comments
 (0)