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 @@ -1852,7 +1852,8 @@ bool NVPTXDAGToDAGISel::tryStoreParam(SDNode *N) {
1852
1852
case 1 : {
1853
1853
MVT::SimpleValueType MemTy = Mem->getMemoryVT ().getSimpleVT ().SimpleTy ;
1854
1854
SDValue Imm = Ops[0 ];
1855
- if (MemTy != MVT::f16 && MemTy != MVT::v2f16 && MemTy != MVT::bf16 &&
1855
+ if (MemTy != MVT::f16 && MemTy != MVT::v2f16 &&
1856
+ MemTy != MVT::bf16 && MemTy != MVT::v2bf16 &&
1856
1857
(isa<ConstantSDNode>(Imm) || isa<ConstantFPSDNode>(Imm))) {
1857
1858
// Convert immediate to target constant
1858
1859
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() {
2023
2023
ret void
2024
2024
}
2025
2025
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
+
2026
2049
declare void @call_bfloat (bfloat)
2050
+ declare void @call_v2bfloat (<2 x bfloat>)
You can’t perform that action at this time.
0 commit comments