AArch64: use different type modifier in arm_neon.td
The 'f' modifier is designed for integer type arguments really (according to its documentation). It's better to use the "half width, same number" modifier. Should be no user-visible change. llvm-svn: 202152
This commit is contained in:
parent
9b019ae899
commit
2df47cedeb
|
@ -680,7 +680,7 @@ def QXTN2 : SOpInst<"vqmovn_high", "qhk", "silUsUiUl", OP_QXTN>;
|
|||
// Converting vectors
|
||||
def VCVT_HIGH_F16 : SOpInst<"vcvt_high_f16", "qhj", "f", OP_VCVT_NA_HI>;
|
||||
def VCVT_HIGH_F32_F16 : SOpInst<"vcvt_high_f32", "wk", "h", OP_VCVT_EX_HI>;
|
||||
def VCVT_F32_F64 : SInst<"vcvt_f32_f64", "fj", "d">;
|
||||
def VCVT_F32_F64 : SInst<"vcvt_f32_f64", "mj", "d">;
|
||||
def VCVT_HIGH_F32_F64 : SOpInst<"vcvt_high_f32", "qfj", "d", OP_VCVT_NA_HI>;
|
||||
def VCVT_F64_F32 : SInst<"vcvt_f64_f32", "wd", "f">;
|
||||
def VCVT_F64 : SInst<"vcvt_f64", "Fd", "lUlQlQUl">;
|
||||
|
|
|
@ -3841,8 +3841,8 @@ Value *CodeGenFunction::EmitAArch64BuiltinExpr(unsigned BuiltinID,
|
|||
Int = Intrinsic::aarch64_neon_rbit;
|
||||
return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vrbit");
|
||||
case NEON::BI__builtin_neon_vcvt_f32_f64: {
|
||||
Ops[0] = Builder.CreateBitCast(Ops[0], Ty);
|
||||
Ty = GetNeonType(this, NeonTypeFlags(NeonTypeFlags::Float32, false, false));
|
||||
NeonTypeFlags SrcFlag = NeonTypeFlags(NeonTypeFlags::Float64, false, true);
|
||||
Ops[0] = Builder.CreateBitCast(Ops[0], GetNeonType(this, SrcFlag));
|
||||
return Builder.CreateFPTrunc(Ops[0], Ty, "vcvt");
|
||||
}
|
||||
case NEON::BI__builtin_neon_vcvtx_f32_v: {
|
||||
|
|
Loading…
Reference in New Issue