[llvm] [NVPTX] Make i16x2 a native type and add supported vec instructions (PR #65799)
Artem Belevich via llvm-commits
llvm-commits at lists.llvm.org
Fri Sep 8 14:26:43 PDT 2023
================
@@ -497,6 +497,20 @@ define i32 @test_bitcast_2xi16_to_i32(<2 x i16> %a) #0 {
ret i32 %r
}
+; COMMON-LABEL: test_bitcast_2xi16_to_2xhalf(
+; COMMON: ld.param.u16 [[RS1:%rs[0-9]+]], [test_bitcast_2xi16_to_2xhalf_param_0];
+; COMMON: mov.u16 [[RS2:%rs[0-9]+]], 5;
+; COMMON: mov.b32 [[R:%r[0-9]+]], {[[RS1]], [[RS2]]};
+; COMMON: st.param.b32 [func_retval0+0], [[R]];
+; COMMON: ret;
+define <2 x half> @test_bitcast_2xi16_to_2xhalf(i16 %a) #0 {
+ %ins.0 = insertelement <2 x i16> undef, i16 %a, i32 0
----------------
Artem-B wrote:
I think we need similar constructs in the other bitcast tests, as the bitcast would otherwise just dropped.
I wonder if there's a better way to make sure we do end up lowering specifically `bitcast`.
https://github.com/llvm/llvm-project/pull/65799
More information about the llvm-commits
mailing list