@@ -549,24 +549,46 @@ bb:
549
549
ret void
550
550
}
551
551
552
- ; GCN-LABEL: {{^}}fadd_fadd_fsub :
552
+ ; GCN-LABEL: {{^}}fadd_fadd_fsub_0 :
553
553
; GFX900: v_add_f32_e64 v{{[0-9]+}}, s{{[0-9]+}}, 0
554
554
; GFX900: v_add_f32_e32 v{{[0-9]+}}, 0, v{{[0-9]+}}
555
- ; PACKED-SDAG: v_pk_add_f32 v[{{[0-9:]+}}], s[{{[0-9:]+}}], 0 op_sel_hi:[1,0]{{$}}
556
- ; PACKED-SDAG: v_pk_add_f32 v[{{[0-9:]+}}], v[{{[0-9:]+}}], 0 op_sel_hi:[1,0]{{$}}
555
+
556
+ ; PACKED-SDAG: v_add_f32_e64 v{{[0-9]+}}, s{{[0-9]+}}, 0
557
+ ; PACKED-SDAG: v_add_f32_e32 v{{[0-9]+}}, 0, v{{[0-9]+}}
558
+
557
559
; PACKED-GISEL: v_pk_add_f32 v[{{[0-9:]+}}], s[{{[0-9:]+}}], v[{{[0-9:]+}}]{{$}}
558
560
; PACKED-GISEL: v_pk_add_f32 v[{{[0-9:]+}}], v[{{[0-9:]+}}], s[{{[0-9:]+}}]{{$}}
559
- define amdgpu_kernel void @fadd_fadd_fsub (<2 x float > %arg ) {
561
+ define amdgpu_kernel void @fadd_fadd_fsub_0 (<2 x float > %arg ) {
560
562
bb:
561
563
%i12 = fadd <2 x float > zeroinitializer , %arg
562
- %shift8 = shufflevector <2 x float > %i12 , <2 x float > undef , <2 x i32 > <i32 1 , i32 undef >
564
+ %shift8 = shufflevector <2 x float > %i12 , <2 x float > poison , <2 x i32 > <i32 1 , i32 poison >
563
565
%i13 = fadd <2 x float > zeroinitializer , %shift8
564
566
%i14 = shufflevector <2 x float > %arg , <2 x float > %i13 , <2 x i32 > <i32 0 , i32 2 >
565
567
%i15 = fsub <2 x float > %i14 , zeroinitializer
566
568
store <2 x float > %i15 , ptr undef
567
569
ret void
568
570
}
569
571
572
+ ; GCN-LABEL: {{^}}fadd_fadd_fsub:
573
+ ; GFX900: v_add_f32_e32 v{{[0-9]+}}, s{{[0-9]+}}, v{{[0-9]+}}
574
+ ; GFX900: v_add_f32_e32 v{{[0-9]+}}, s{{[0-9]+}}, v{{[0-9]+}}
575
+
576
+ ; PACKED-SDAG: v_add_f32_e32 v{{[0-9]+}}, s{{[0-9]+}}, v{{[0-9]+}}
577
+ ; PACKED-SDAG: v_pk_add_f32 v[{{[0-9:]+}}], s[{{[0-9:]+}}], v[{{[0-9:]+}}] op_sel_hi:[1,0]{{$}}
578
+
579
+ ; PACKED-GISEL: v_pk_add_f32 v[{{[0-9:]+}}], s[{{[0-9:]+}}], v[{{[0-9:]+}}]{{$}}
580
+ ; PACKED-GISEL: v_pk_add_f32 v[{{[0-9:]+}}], s[{{[0-9:]+}}], v[{{[0-9:]+}}]{{$}}
581
+ define amdgpu_kernel void @fadd_fadd_fsub (<2 x float > %arg , <2 x float > %arg1 , ptr addrspace (1 ) %ptr ) {
582
+ bb:
583
+ %i12 = fadd <2 x float > %arg , %arg1
584
+ %shift8 = shufflevector <2 x float > %i12 , <2 x float > poison, <2 x i32 > <i32 1 , i32 poison>
585
+ %i13 = fadd <2 x float > %arg1 , %shift8
586
+ %i14 = shufflevector <2 x float > %arg , <2 x float > %i13 , <2 x i32 > <i32 0 , i32 2 >
587
+ %i15 = fsub <2 x float > %i14 , %arg1
588
+ store <2 x float > %i15 , ptr addrspace (1 ) %ptr
589
+ ret void
590
+ }
591
+
570
592
; GCN-LABEL: {{^}}fadd_shuffle_v4:
571
593
; GFX900-COUNT-4: v_add_f32_e32 v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}}
572
594
; PACKED-SDAG-COUNT-2: v_pk_add_f32 v[{{[0-9:]+}}], v[{{[0-9:]+}}], v[{{[0-9:]+}}] op_sel_hi:[1,0]{{$}}
0 commit comments