================
@@ -264,35 +267,40 @@ let RegAltNameIndices = [ABIRegAltName] in {
}
}
-def XLenVT : ValueTypeByHwMode<[RV32, RV64],
- [i32, i64]>;
+def XLenVT : ValueTypeByHwMode<[RV32I, RV64I, RV32Y, RV64Y],
+ [i32, i64, i32, i64]>;
defvar XLenPairVT = untyped;
// Allow f64 in GPR for ZDINX on RV64.
-def XLenFVT : ValueTypeByHwMode<[RV64],
- [f64]>;
-def XLenPairFVT : ValueTypeByHwMode<[RV32],
- [f64]>;
-def XLenPairVecI8VT : ValueTypeByHwMode<[RV32],
+def XLenFVT : ValueTypeByHwMode<[DefaultMode, RV64I, RV64Y],
+ [/*XLen*/i32, f64, f64]>;
+def XLenPairFVT : ValueTypeByHwMode<[RV32I, RV32Y],
+ [f64, f64]>;
+def XLenPairVecI8VT : ValueTypeByHwMode<[DefaultMode],
[v8i8]>;
-def XLenPairVecI16VT : ValueTypeByHwMode<[RV32],
+def XLenPairVecI16VT : ValueTypeByHwMode<[DefaultMode],
[v4i16]>;
-def XLenPairVecI32VT : ValueTypeByHwMode<[RV32],
+def XLenPairVecI32VT : ValueTypeByHwMode<[DefaultMode],
[v2i32]>;
----------------
lenary wrote:
I'm not sure why we're doing this here, to be honest. I think that with
`DefaultMode` in the list, we either don't support `RV32Y` for these, or we
have added support for all modes, including the RV64 modes (where this type
would be incorrect).
Can you clarify your intention?
https://github.com/llvm/llvm-project/pull/177073
_______________________________________________
llvm-branch-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits