File tree Expand file tree Collapse file tree 2 files changed +26
-1
lines changed Expand file tree Collapse file tree 2 files changed +26
-1
lines changed Original file line number Diff line number Diff line change @@ -1868,7 +1868,8 @@ bool NVPTXDAGToDAGISel::tryStoreParam(SDNode *N) {
18681868 case 1 : {
18691869 MVT::SimpleValueType MemTy = Mem->getMemoryVT ().getSimpleVT ().SimpleTy ;
18701870 SDValue Imm = Ops[0 ];
1871- if (MemTy != MVT::f16 && MemTy != MVT::v2f16 && MemTy != MVT::bf16 &&
1871+ if (MemTy != MVT::f16 && MemTy != MVT::v2f16 &&
1872+ MemTy != MVT::bf16 && MemTy != MVT::v2bf16 &&
18721873 (isa<ConstantSDNode>(Imm) || isa<ConstantFPSDNode>(Imm))) {
18731874 // Convert immediate to target constant
18741875 if (MemTy == MVT::f32 || MemTy == MVT::f64 ) {
Original file line number Diff line number Diff line change @@ -2023,4 +2023,28 @@ define void @st_param_bfloat() {
20232023 ret void
20242024}
20252025
2026+ define void @st_param_v2bfloat (<2 x bfloat> %val ) {
2027+ ; CHECK-LABEL: st_param_v2bfloat(
2028+ ; CHECK: .param .align 4 .b8 st_param_v2bfloat_param_0[4]
2029+ ; CHECK-NEXT: )
2030+ ; CHECK-NEXT: {
2031+ ; CHECK-NEXT: .reg .b32 %r<2>;
2032+ ; CHECK-EMPTY:
2033+ ; CHECK-NEXT: // %bb.0:
2034+ ; CHECK-NEXT: ld.param.b32 %r1, [st_param_v2bfloat_param_0];
2035+ ; CHECK-NEXT: { // callseq 84, 0
2036+ ; CHECK-NEXT: .param .align 4 .b8 param0[4];
2037+ ; CHECK-NEXT: st.param.b32 [param0], %r1;
2038+ ; CHECK-NEXT: call.uni
2039+ ; CHECK-NEXT: call_v2bfloat,
2040+ ; CHECK-NEXT: (
2041+ ; CHECK-NEXT: param0
2042+ ; CHECK-NEXT: );
2043+ ; CHECK-NEXT: } // callseq 84
2044+ ; CHECK-NEXT: ret;
2045+ call void @call_v2bfloat (<2 x bfloat> %val )
2046+ ret void
2047+ }
2048+
20262049declare void @call_bfloat (bfloat)
2050+ declare void @call_v2bfloat (<2 x bfloat>)
You can’t perform that action at this time.
0 commit comments