Skip to content

Commit b7721c5

Browse files
committed
[RISCV] Remove the duplicate for RV32/RV64 in zicond-fp-select-zfinx.ll. NFC.
1 parent d1500d1 commit b7721c5

File tree

1 file changed

+97
-192
lines changed

1 file changed

+97
-192
lines changed

llvm/test/CodeGen/RISCV/zicond-fp-select-zfinx.ll

Lines changed: 97 additions & 192 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 6
22
; Zicond with zfinx(implies by zdinx)
3-
; RUN: llc -mtriple=riscv64 -mattr=+zdinx,+zicond -verify-machineinstrs < %s | FileCheck %s --check-prefix=RV64ZDINX_ZICOND
4-
; RUN: llc -mtriple=riscv64 -mattr=+zdinx -verify-machineinstrs < %s | FileCheck %s --check-prefix=RV64ZDINX_NOZICOND
3+
; RUN: llc -mtriple=riscv64 -mattr=+zdinx,+zicond -verify-machineinstrs < %s | FileCheck %s --check-prefixes=ZDINX_ZICOND,RV64ZDINX_ZICOND
4+
; RUN: llc -mtriple=riscv64 -mattr=+zdinx -verify-machineinstrs < %s | FileCheck %s --check-prefixes=ZDINX_NOZICOND,RV64ZDINX_NOZICOND
55

66
; Zicond with zfinx(implies by zhinx)
7-
; RUN: llc -mtriple=riscv64 -mattr=+zhinx,+zicond -verify-machineinstrs < %s | FileCheck %s --check-prefix=RV64ZHINX_ZICOND
7+
; RUN: llc -mtriple=riscv64 -mattr=+zhinx,+zicond -verify-machineinstrs < %s | FileCheck %s --check-prefixes=ZHINX_ZICOND,RV64ZHINX_ZICOND
88

99
; Baseline with classic FP registers (no *inx); zicond select should NOT trigger
1010
; RUN: llc -mtriple=riscv64 -mattr=+f,+d -verify-machineinstrs < %s | FileCheck %s --check-prefix=RV64FD
1111

1212
; Check same optimize work on 32bit machine
13-
; RUN: llc -mtriple=riscv32 -mattr=+zfinx,+zicond -verify-machineinstrs < %s | FileCheck %s --check-prefix=RV32ZFINX_ZICOND
13+
; RUN: llc -mtriple=riscv32 -mattr=+zfinx,+zicond -verify-machineinstrs < %s | FileCheck %s --check-prefixes=ZHINX_ZICOND,RV32ZFINX_ZICOND
1414
; RUN: llc -mtriple=riscv32 -mattr=+zfinx -verify-machineinstrs < %s | FileCheck %s --check-prefix=RV32ZFINX_NOZICOND
15-
; RUN: llc -mtriple=riscv32 -mattr=+zdinx,+zicond -verify-machineinstrs < %s | FileCheck %s --check-prefix=RV32ZDINX_ZICOND
16-
; RUN: llc -mtriple=riscv32 -mattr=+zdinx -verify-machineinstrs < %s | FileCheck %s --check-prefix=RV32ZDINX_NOZICOND
15+
; RUN: llc -mtriple=riscv32 -mattr=+zdinx,+zicond -verify-machineinstrs < %s | FileCheck %s --check-prefixes=ZDINX_ZICOND,RV32ZDINX_ZICOND
16+
; RUN: llc -mtriple=riscv32 -mattr=+zdinx -verify-machineinstrs < %s | FileCheck %s --check-prefixes=ZDINX_NOZICOND,RV32ZDINX_NOZICOND
1717

1818
; This test checks that floating-point SELECT is lowered through integer
1919
; SELECT (and thus to Zicond czero.* sequence) when FP values live in GPRs
@@ -25,37 +25,37 @@
2525
; -----------------------------------------------------------------------------
2626

2727
define float @select_f32_i1(i1 %cond, float %t, float %f) nounwind {
28-
; RV64ZDINX_ZICOND-LABEL: select_f32_i1:
29-
; RV64ZDINX_ZICOND: # %bb.0: # %entry
30-
; RV64ZDINX_ZICOND-NEXT: # kill: def $x12_w killed $x12_w def $x12
31-
; RV64ZDINX_ZICOND-NEXT: # kill: def $x11_w killed $x11_w def $x11
32-
; RV64ZDINX_ZICOND-NEXT: andi a0, a0, 1
33-
; RV64ZDINX_ZICOND-NEXT: czero.nez a2, a2, a0
34-
; RV64ZDINX_ZICOND-NEXT: czero.eqz a0, a1, a0
35-
; RV64ZDINX_ZICOND-NEXT: or a0, a0, a2
36-
; RV64ZDINX_ZICOND-NEXT: # kill: def $x10_w killed $x10_w killed $x10
37-
; RV64ZDINX_ZICOND-NEXT: ret
38-
;
39-
; RV64ZDINX_NOZICOND-LABEL: select_f32_i1:
40-
; RV64ZDINX_NOZICOND: # %bb.0: # %entry
41-
; RV64ZDINX_NOZICOND-NEXT: andi a3, a0, 1
42-
; RV64ZDINX_NOZICOND-NEXT: mv a0, a1
43-
; RV64ZDINX_NOZICOND-NEXT: bnez a3, .LBB0_2
44-
; RV64ZDINX_NOZICOND-NEXT: # %bb.1: # %entry
45-
; RV64ZDINX_NOZICOND-NEXT: mv a0, a2
46-
; RV64ZDINX_NOZICOND-NEXT: .LBB0_2: # %entry
47-
; RV64ZDINX_NOZICOND-NEXT: ret
48-
;
49-
; RV64ZHINX_ZICOND-LABEL: select_f32_i1:
50-
; RV64ZHINX_ZICOND: # %bb.0: # %entry
51-
; RV64ZHINX_ZICOND-NEXT: # kill: def $x12_w killed $x12_w def $x12
52-
; RV64ZHINX_ZICOND-NEXT: # kill: def $x11_w killed $x11_w def $x11
53-
; RV64ZHINX_ZICOND-NEXT: andi a0, a0, 1
54-
; RV64ZHINX_ZICOND-NEXT: czero.nez a2, a2, a0
55-
; RV64ZHINX_ZICOND-NEXT: czero.eqz a0, a1, a0
56-
; RV64ZHINX_ZICOND-NEXT: or a0, a0, a2
57-
; RV64ZHINX_ZICOND-NEXT: # kill: def $x10_w killed $x10_w killed $x10
58-
; RV64ZHINX_ZICOND-NEXT: ret
28+
; ZDINX_ZICOND-LABEL: select_f32_i1:
29+
; ZDINX_ZICOND: # %bb.0: # %entry
30+
; ZDINX_ZICOND-NEXT: # kill: def $x12_w killed $x12_w def $x12
31+
; ZDINX_ZICOND-NEXT: # kill: def $x11_w killed $x11_w def $x11
32+
; ZDINX_ZICOND-NEXT: andi a0, a0, 1
33+
; ZDINX_ZICOND-NEXT: czero.nez a2, a2, a0
34+
; ZDINX_ZICOND-NEXT: czero.eqz a0, a1, a0
35+
; ZDINX_ZICOND-NEXT: or a0, a0, a2
36+
; ZDINX_ZICOND-NEXT: # kill: def $x10_w killed $x10_w killed $x10
37+
; ZDINX_ZICOND-NEXT: ret
38+
;
39+
; ZDINX_NOZICOND-LABEL: select_f32_i1:
40+
; ZDINX_NOZICOND: # %bb.0: # %entry
41+
; ZDINX_NOZICOND-NEXT: andi a3, a0, 1
42+
; ZDINX_NOZICOND-NEXT: mv a0, a1
43+
; ZDINX_NOZICOND-NEXT: bnez a3, .LBB0_2
44+
; ZDINX_NOZICOND-NEXT: # %bb.1: # %entry
45+
; ZDINX_NOZICOND-NEXT: mv a0, a2
46+
; ZDINX_NOZICOND-NEXT: .LBB0_2: # %entry
47+
; ZDINX_NOZICOND-NEXT: ret
48+
;
49+
; ZHINX_ZICOND-LABEL: select_f32_i1:
50+
; ZHINX_ZICOND: # %bb.0: # %entry
51+
; ZHINX_ZICOND-NEXT: # kill: def $x12_w killed $x12_w def $x12
52+
; ZHINX_ZICOND-NEXT: # kill: def $x11_w killed $x11_w def $x11
53+
; ZHINX_ZICOND-NEXT: andi a0, a0, 1
54+
; ZHINX_ZICOND-NEXT: czero.nez a2, a2, a0
55+
; ZHINX_ZICOND-NEXT: czero.eqz a0, a1, a0
56+
; ZHINX_ZICOND-NEXT: or a0, a0, a2
57+
; ZHINX_ZICOND-NEXT: # kill: def $x10_w killed $x10_w killed $x10
58+
; ZHINX_ZICOND-NEXT: ret
5959
;
6060
; RV64FD-LABEL: select_f32_i1:
6161
; RV64FD: # %bb.0: # %entry
@@ -66,17 +66,6 @@ define float @select_f32_i1(i1 %cond, float %t, float %f) nounwind {
6666
; RV64FD-NEXT: .LBB0_2: # %entry
6767
; RV64FD-NEXT: ret
6868
;
69-
; RV32ZFINX_ZICOND-LABEL: select_f32_i1:
70-
; RV32ZFINX_ZICOND: # %bb.0: # %entry
71-
; RV32ZFINX_ZICOND-NEXT: # kill: def $x12_w killed $x12_w def $x12
72-
; RV32ZFINX_ZICOND-NEXT: # kill: def $x11_w killed $x11_w def $x11
73-
; RV32ZFINX_ZICOND-NEXT: andi a0, a0, 1
74-
; RV32ZFINX_ZICOND-NEXT: czero.nez a2, a2, a0
75-
; RV32ZFINX_ZICOND-NEXT: czero.eqz a0, a1, a0
76-
; RV32ZFINX_ZICOND-NEXT: or a0, a0, a2
77-
; RV32ZFINX_ZICOND-NEXT: # kill: def $x10_w killed $x10_w killed $x10
78-
; RV32ZFINX_ZICOND-NEXT: ret
79-
;
8069
; RV32ZFINX_NOZICOND-LABEL: select_f32_i1:
8170
; RV32ZFINX_NOZICOND: # %bb.0: # %entry
8271
; RV32ZFINX_NOZICOND-NEXT: andi a3, a0, 1
@@ -86,27 +75,6 @@ define float @select_f32_i1(i1 %cond, float %t, float %f) nounwind {
8675
; RV32ZFINX_NOZICOND-NEXT: mv a0, a2
8776
; RV32ZFINX_NOZICOND-NEXT: .LBB0_2: # %entry
8877
; RV32ZFINX_NOZICOND-NEXT: ret
89-
;
90-
; RV32ZDINX_ZICOND-LABEL: select_f32_i1:
91-
; RV32ZDINX_ZICOND: # %bb.0: # %entry
92-
; RV32ZDINX_ZICOND-NEXT: # kill: def $x12_w killed $x12_w def $x12
93-
; RV32ZDINX_ZICOND-NEXT: # kill: def $x11_w killed $x11_w def $x11
94-
; RV32ZDINX_ZICOND-NEXT: andi a0, a0, 1
95-
; RV32ZDINX_ZICOND-NEXT: czero.nez a2, a2, a0
96-
; RV32ZDINX_ZICOND-NEXT: czero.eqz a0, a1, a0
97-
; RV32ZDINX_ZICOND-NEXT: or a0, a0, a2
98-
; RV32ZDINX_ZICOND-NEXT: # kill: def $x10_w killed $x10_w killed $x10
99-
; RV32ZDINX_ZICOND-NEXT: ret
100-
;
101-
; RV32ZDINX_NOZICOND-LABEL: select_f32_i1:
102-
; RV32ZDINX_NOZICOND: # %bb.0: # %entry
103-
; RV32ZDINX_NOZICOND-NEXT: andi a3, a0, 1
104-
; RV32ZDINX_NOZICOND-NEXT: mv a0, a1
105-
; RV32ZDINX_NOZICOND-NEXT: bnez a3, .LBB0_2
106-
; RV32ZDINX_NOZICOND-NEXT: # %bb.1: # %entry
107-
; RV32ZDINX_NOZICOND-NEXT: mv a0, a2
108-
; RV32ZDINX_NOZICOND-NEXT: .LBB0_2: # %entry
109-
; RV32ZDINX_NOZICOND-NEXT: ret
11078
entry:
11179
%sel = select i1 %cond, float %t, float %f
11280
ret float %sel
@@ -353,32 +321,32 @@ entry:
353321
; -----------------------------------------------------------------------------
354322

355323
define dso_local noundef half @select_half_i1(i1 %cond, half %a, half %b) nounwind {
356-
; RV64ZDINX_ZICOND-LABEL: select_half_i1:
357-
; RV64ZDINX_ZICOND: # %bb.0: # %entry
358-
; RV64ZDINX_ZICOND-NEXT: # kill: def $x12_w killed $x12_w def $x12
359-
; RV64ZDINX_ZICOND-NEXT: # kill: def $x11_w killed $x11_w def $x11
360-
; RV64ZDINX_ZICOND-NEXT: andi a0, a0, 1
361-
; RV64ZDINX_ZICOND-NEXT: czero.nez a2, a2, a0
362-
; RV64ZDINX_ZICOND-NEXT: czero.eqz a0, a1, a0
363-
; RV64ZDINX_ZICOND-NEXT: or a0, a0, a2
364-
; RV64ZDINX_ZICOND-NEXT: lui a1, 1048560
365-
; RV64ZDINX_ZICOND-NEXT: or a0, a0, a1
366-
; RV64ZDINX_ZICOND-NEXT: # kill: def $x10_w killed $x10_w killed $x10
367-
; RV64ZDINX_ZICOND-NEXT: ret
368-
;
369-
; RV64ZDINX_NOZICOND-LABEL: select_half_i1:
370-
; RV64ZDINX_NOZICOND: # %bb.0: # %entry
371-
; RV64ZDINX_NOZICOND-NEXT: # kill: def $x12_w killed $x12_w def $x12
372-
; RV64ZDINX_NOZICOND-NEXT: andi a0, a0, 1
373-
; RV64ZDINX_NOZICOND-NEXT: # kill: def $x11_w killed $x11_w def $x11
374-
; RV64ZDINX_NOZICOND-NEXT: bnez a0, .LBB3_2
375-
; RV64ZDINX_NOZICOND-NEXT: # %bb.1: # %entry
376-
; RV64ZDINX_NOZICOND-NEXT: mv a1, a2
377-
; RV64ZDINX_NOZICOND-NEXT: .LBB3_2: # %entry
378-
; RV64ZDINX_NOZICOND-NEXT: lui a0, 1048560
379-
; RV64ZDINX_NOZICOND-NEXT: or a0, a1, a0
380-
; RV64ZDINX_NOZICOND-NEXT: # kill: def $x10_w killed $x10_w killed $x10
381-
; RV64ZDINX_NOZICOND-NEXT: ret
324+
; ZDINX_ZICOND-LABEL: select_half_i1:
325+
; ZDINX_ZICOND: # %bb.0: # %entry
326+
; ZDINX_ZICOND-NEXT: # kill: def $x12_w killed $x12_w def $x12
327+
; ZDINX_ZICOND-NEXT: # kill: def $x11_w killed $x11_w def $x11
328+
; ZDINX_ZICOND-NEXT: andi a0, a0, 1
329+
; ZDINX_ZICOND-NEXT: czero.nez a2, a2, a0
330+
; ZDINX_ZICOND-NEXT: czero.eqz a0, a1, a0
331+
; ZDINX_ZICOND-NEXT: or a0, a0, a2
332+
; ZDINX_ZICOND-NEXT: lui a1, 1048560
333+
; ZDINX_ZICOND-NEXT: or a0, a0, a1
334+
; ZDINX_ZICOND-NEXT: # kill: def $x10_w killed $x10_w killed $x10
335+
; ZDINX_ZICOND-NEXT: ret
336+
;
337+
; ZDINX_NOZICOND-LABEL: select_half_i1:
338+
; ZDINX_NOZICOND: # %bb.0: # %entry
339+
; ZDINX_NOZICOND-NEXT: # kill: def $x12_w killed $x12_w def $x12
340+
; ZDINX_NOZICOND-NEXT: andi a0, a0, 1
341+
; ZDINX_NOZICOND-NEXT: # kill: def $x11_w killed $x11_w def $x11
342+
; ZDINX_NOZICOND-NEXT: bnez a0, .LBB3_2
343+
; ZDINX_NOZICOND-NEXT: # %bb.1: # %entry
344+
; ZDINX_NOZICOND-NEXT: mv a1, a2
345+
; ZDINX_NOZICOND-NEXT: .LBB3_2: # %entry
346+
; ZDINX_NOZICOND-NEXT: lui a0, 1048560
347+
; ZDINX_NOZICOND-NEXT: or a0, a1, a0
348+
; ZDINX_NOZICOND-NEXT: # kill: def $x10_w killed $x10_w killed $x10
349+
; ZDINX_NOZICOND-NEXT: ret
382350
;
383351
; RV64ZHINX_ZICOND-LABEL: select_half_i1:
384352
; RV64ZHINX_ZICOND: # %bb.0: # %entry
@@ -432,33 +400,6 @@ define dso_local noundef half @select_half_i1(i1 %cond, half %a, half %b) nounwi
432400
; RV32ZFINX_NOZICOND-NEXT: or a0, a1, a0
433401
; RV32ZFINX_NOZICOND-NEXT: # kill: def $x10_w killed $x10_w killed $x10
434402
; RV32ZFINX_NOZICOND-NEXT: ret
435-
;
436-
; RV32ZDINX_ZICOND-LABEL: select_half_i1:
437-
; RV32ZDINX_ZICOND: # %bb.0: # %entry
438-
; RV32ZDINX_ZICOND-NEXT: # kill: def $x12_w killed $x12_w def $x12
439-
; RV32ZDINX_ZICOND-NEXT: # kill: def $x11_w killed $x11_w def $x11
440-
; RV32ZDINX_ZICOND-NEXT: andi a0, a0, 1
441-
; RV32ZDINX_ZICOND-NEXT: czero.nez a2, a2, a0
442-
; RV32ZDINX_ZICOND-NEXT: czero.eqz a0, a1, a0
443-
; RV32ZDINX_ZICOND-NEXT: or a0, a0, a2
444-
; RV32ZDINX_ZICOND-NEXT: lui a1, 1048560
445-
; RV32ZDINX_ZICOND-NEXT: or a0, a0, a1
446-
; RV32ZDINX_ZICOND-NEXT: # kill: def $x10_w killed $x10_w killed $x10
447-
; RV32ZDINX_ZICOND-NEXT: ret
448-
;
449-
; RV32ZDINX_NOZICOND-LABEL: select_half_i1:
450-
; RV32ZDINX_NOZICOND: # %bb.0: # %entry
451-
; RV32ZDINX_NOZICOND-NEXT: # kill: def $x12_w killed $x12_w def $x12
452-
; RV32ZDINX_NOZICOND-NEXT: andi a0, a0, 1
453-
; RV32ZDINX_NOZICOND-NEXT: # kill: def $x11_w killed $x11_w def $x11
454-
; RV32ZDINX_NOZICOND-NEXT: bnez a0, .LBB3_2
455-
; RV32ZDINX_NOZICOND-NEXT: # %bb.1: # %entry
456-
; RV32ZDINX_NOZICOND-NEXT: mv a1, a2
457-
; RV32ZDINX_NOZICOND-NEXT: .LBB3_2: # %entry
458-
; RV32ZDINX_NOZICOND-NEXT: lui a0, 1048560
459-
; RV32ZDINX_NOZICOND-NEXT: or a0, a1, a0
460-
; RV32ZDINX_NOZICOND-NEXT: # kill: def $x10_w killed $x10_w killed $x10
461-
; RV32ZDINX_NOZICOND-NEXT: ret
462403
entry:
463404
%sel = select i1 %cond, half %a, half %b
464405
ret half %sel
@@ -468,31 +409,31 @@ entry:
468409
; Test select with i1 condition and zero ret val (cond ? a : 0), Zfinx
469410
; -----------------------------------------------------------------------------
470411
define dso_local noundef float @select_i1_f32_0(i1 %cond, float %t) nounwind {
471-
; RV64ZDINX_ZICOND-LABEL: select_i1_f32_0:
472-
; RV64ZDINX_ZICOND: # %bb.0: # %entry
473-
; RV64ZDINX_ZICOND-NEXT: # kill: def $x11_w killed $x11_w def $x11
474-
; RV64ZDINX_ZICOND-NEXT: andi a0, a0, 1
475-
; RV64ZDINX_ZICOND-NEXT: czero.eqz a0, a1, a0
476-
; RV64ZDINX_ZICOND-NEXT: # kill: def $x10_w killed $x10_w killed $x10
477-
; RV64ZDINX_ZICOND-NEXT: ret
478-
;
479-
; RV64ZDINX_NOZICOND-LABEL: select_i1_f32_0:
480-
; RV64ZDINX_NOZICOND: # %bb.0: # %entry
481-
; RV64ZDINX_NOZICOND-NEXT: andi a2, a0, 1
482-
; RV64ZDINX_NOZICOND-NEXT: mv a0, a1
483-
; RV64ZDINX_NOZICOND-NEXT: bnez a2, .LBB4_2
484-
; RV64ZDINX_NOZICOND-NEXT: # %bb.1: # %entry
485-
; RV64ZDINX_NOZICOND-NEXT: li a0, 0
486-
; RV64ZDINX_NOZICOND-NEXT: .LBB4_2: # %entry
487-
; RV64ZDINX_NOZICOND-NEXT: ret
488-
;
489-
; RV64ZHINX_ZICOND-LABEL: select_i1_f32_0:
490-
; RV64ZHINX_ZICOND: # %bb.0: # %entry
491-
; RV64ZHINX_ZICOND-NEXT: # kill: def $x11_w killed $x11_w def $x11
492-
; RV64ZHINX_ZICOND-NEXT: andi a0, a0, 1
493-
; RV64ZHINX_ZICOND-NEXT: czero.eqz a0, a1, a0
494-
; RV64ZHINX_ZICOND-NEXT: # kill: def $x10_w killed $x10_w killed $x10
495-
; RV64ZHINX_ZICOND-NEXT: ret
412+
; ZDINX_ZICOND-LABEL: select_i1_f32_0:
413+
; ZDINX_ZICOND: # %bb.0: # %entry
414+
; ZDINX_ZICOND-NEXT: # kill: def $x11_w killed $x11_w def $x11
415+
; ZDINX_ZICOND-NEXT: andi a0, a0, 1
416+
; ZDINX_ZICOND-NEXT: czero.eqz a0, a1, a0
417+
; ZDINX_ZICOND-NEXT: # kill: def $x10_w killed $x10_w killed $x10
418+
; ZDINX_ZICOND-NEXT: ret
419+
;
420+
; ZDINX_NOZICOND-LABEL: select_i1_f32_0:
421+
; ZDINX_NOZICOND: # %bb.0: # %entry
422+
; ZDINX_NOZICOND-NEXT: andi a2, a0, 1
423+
; ZDINX_NOZICOND-NEXT: mv a0, a1
424+
; ZDINX_NOZICOND-NEXT: bnez a2, .LBB4_2
425+
; ZDINX_NOZICOND-NEXT: # %bb.1: # %entry
426+
; ZDINX_NOZICOND-NEXT: li a0, 0
427+
; ZDINX_NOZICOND-NEXT: .LBB4_2: # %entry
428+
; ZDINX_NOZICOND-NEXT: ret
429+
;
430+
; ZHINX_ZICOND-LABEL: select_i1_f32_0:
431+
; ZHINX_ZICOND: # %bb.0: # %entry
432+
; ZHINX_ZICOND-NEXT: # kill: def $x11_w killed $x11_w def $x11
433+
; ZHINX_ZICOND-NEXT: andi a0, a0, 1
434+
; ZHINX_ZICOND-NEXT: czero.eqz a0, a1, a0
435+
; ZHINX_ZICOND-NEXT: # kill: def $x10_w killed $x10_w killed $x10
436+
; ZHINX_ZICOND-NEXT: ret
496437
;
497438
; RV64FD-LABEL: select_i1_f32_0:
498439
; RV64FD: # %bb.0: # %entry
@@ -503,14 +444,6 @@ define dso_local noundef float @select_i1_f32_0(i1 %cond, float %t) nounwind {
503444
; RV64FD-NEXT: .LBB4_2: # %entry
504445
; RV64FD-NEXT: ret
505446
;
506-
; RV32ZFINX_ZICOND-LABEL: select_i1_f32_0:
507-
; RV32ZFINX_ZICOND: # %bb.0: # %entry
508-
; RV32ZFINX_ZICOND-NEXT: # kill: def $x11_w killed $x11_w def $x11
509-
; RV32ZFINX_ZICOND-NEXT: andi a0, a0, 1
510-
; RV32ZFINX_ZICOND-NEXT: czero.eqz a0, a1, a0
511-
; RV32ZFINX_ZICOND-NEXT: # kill: def $x10_w killed $x10_w killed $x10
512-
; RV32ZFINX_ZICOND-NEXT: ret
513-
;
514447
; RV32ZFINX_NOZICOND-LABEL: select_i1_f32_0:
515448
; RV32ZFINX_NOZICOND: # %bb.0: # %entry
516449
; RV32ZFINX_NOZICOND-NEXT: andi a2, a0, 1
@@ -520,24 +453,6 @@ define dso_local noundef float @select_i1_f32_0(i1 %cond, float %t) nounwind {
520453
; RV32ZFINX_NOZICOND-NEXT: li a0, 0
521454
; RV32ZFINX_NOZICOND-NEXT: .LBB4_2: # %entry
522455
; RV32ZFINX_NOZICOND-NEXT: ret
523-
;
524-
; RV32ZDINX_ZICOND-LABEL: select_i1_f32_0:
525-
; RV32ZDINX_ZICOND: # %bb.0: # %entry
526-
; RV32ZDINX_ZICOND-NEXT: # kill: def $x11_w killed $x11_w def $x11
527-
; RV32ZDINX_ZICOND-NEXT: andi a0, a0, 1
528-
; RV32ZDINX_ZICOND-NEXT: czero.eqz a0, a1, a0
529-
; RV32ZDINX_ZICOND-NEXT: # kill: def $x10_w killed $x10_w killed $x10
530-
; RV32ZDINX_ZICOND-NEXT: ret
531-
;
532-
; RV32ZDINX_NOZICOND-LABEL: select_i1_f32_0:
533-
; RV32ZDINX_NOZICOND: # %bb.0: # %entry
534-
; RV32ZDINX_NOZICOND-NEXT: andi a2, a0, 1
535-
; RV32ZDINX_NOZICOND-NEXT: mv a0, a1
536-
; RV32ZDINX_NOZICOND-NEXT: bnez a2, .LBB4_2
537-
; RV32ZDINX_NOZICOND-NEXT: # %bb.1: # %entry
538-
; RV32ZDINX_NOZICOND-NEXT: li a0, 0
539-
; RV32ZDINX_NOZICOND-NEXT: .LBB4_2: # %entry
540-
; RV32ZDINX_NOZICOND-NEXT: ret
541456
entry:
542457
%sel = select i1 %cond, float %t, float 0.000000e+00
543458
ret float %sel
@@ -547,15 +462,15 @@ entry:
547462
; Test select with i1 condition and zero ret val for half fp (cond ? a : 0)
548463
; -----------------------------------------------------------------------------
549464
define dso_local noundef half @select_i1_half_0(i1 %cond, half %val) nounwind {
550-
; RV64ZDINX_ZICOND-LABEL: select_i1_half_0:
551-
; RV64ZDINX_ZICOND: # %bb.0: # %entry
552-
; RV64ZDINX_ZICOND-NEXT: # kill: def $x11_w killed $x11_w def $x11
553-
; RV64ZDINX_ZICOND-NEXT: andi a0, a0, 1
554-
; RV64ZDINX_ZICOND-NEXT: czero.eqz a0, a1, a0
555-
; RV64ZDINX_ZICOND-NEXT: lui a1, 1048560
556-
; RV64ZDINX_ZICOND-NEXT: or a0, a0, a1
557-
; RV64ZDINX_ZICOND-NEXT: # kill: def $x10_w killed $x10_w killed $x10
558-
; RV64ZDINX_ZICOND-NEXT: ret
465+
; ZDINX_ZICOND-LABEL: select_i1_half_0:
466+
; ZDINX_ZICOND: # %bb.0: # %entry
467+
; ZDINX_ZICOND-NEXT: # kill: def $x11_w killed $x11_w def $x11
468+
; ZDINX_ZICOND-NEXT: andi a0, a0, 1
469+
; ZDINX_ZICOND-NEXT: czero.eqz a0, a1, a0
470+
; ZDINX_ZICOND-NEXT: lui a1, 1048560
471+
; ZDINX_ZICOND-NEXT: or a0, a0, a1
472+
; ZDINX_ZICOND-NEXT: # kill: def $x10_w killed $x10_w killed $x10
473+
; ZDINX_ZICOND-NEXT: ret
559474
;
560475
; RV64ZDINX_NOZICOND-LABEL: select_i1_half_0:
561476
; RV64ZDINX_NOZICOND: # %bb.0: # %entry
@@ -608,16 +523,6 @@ define dso_local noundef half @select_i1_half_0(i1 %cond, half %val) nounwind {
608523
; RV32ZFINX_NOZICOND-NEXT: # kill: def $x10_w killed $x10_w killed $x10
609524
; RV32ZFINX_NOZICOND-NEXT: ret
610525
;
611-
; RV32ZDINX_ZICOND-LABEL: select_i1_half_0:
612-
; RV32ZDINX_ZICOND: # %bb.0: # %entry
613-
; RV32ZDINX_ZICOND-NEXT: # kill: def $x11_w killed $x11_w def $x11
614-
; RV32ZDINX_ZICOND-NEXT: andi a0, a0, 1
615-
; RV32ZDINX_ZICOND-NEXT: czero.eqz a0, a1, a0
616-
; RV32ZDINX_ZICOND-NEXT: lui a1, 1048560
617-
; RV32ZDINX_ZICOND-NEXT: or a0, a0, a1
618-
; RV32ZDINX_ZICOND-NEXT: # kill: def $x10_w killed $x10_w killed $x10
619-
; RV32ZDINX_ZICOND-NEXT: ret
620-
;
621526
; RV32ZDINX_NOZICOND-LABEL: select_i1_half_0:
622527
; RV32ZDINX_NOZICOND: # %bb.0: # %entry
623528
; RV32ZDINX_NOZICOND-NEXT: # kill: def $x11_w killed $x11_w def $x11

0 commit comments

Comments
 (0)