@@ -2144,38 +2144,38 @@ static Value *EmitAArch64ScalarBuiltinExpr(CodeGenFunction &CGF,
2144
2144
// Scalar Floating-point Converts
2145
2145
case AArch64::BI__builtin_neon_vcvtxd_f32_f64:
2146
2146
Int = Intrinsic::aarch64_neon_fcvtxn;
2147
- s = " vcvtxn" ; OverloadCvtInt = true ; break ;
2147
+ s = " vcvtxn" ; OverloadCvtInt = false ; break ;
2148
2148
case AArch64::BI__builtin_neon_vcvtas_s32_f32:
2149
2149
case AArch64::BI__builtin_neon_vcvtad_s64_f64:
2150
- Int = Intrinsic::arm_neon_vcvtas ;
2150
+ Int = Intrinsic::aarch64_neon_fcvtas ;
2151
2151
s = " vcvtas" ; OverloadCvtInt = true ; break ;
2152
2152
case AArch64::BI__builtin_neon_vcvtas_u32_f32:
2153
2153
case AArch64::BI__builtin_neon_vcvtad_u64_f64:
2154
- Int = Intrinsic::arm_neon_vcvtau ;
2154
+ Int = Intrinsic::aarch64_neon_fcvtau ;
2155
2155
s = " vcvtau" ; OverloadCvtInt = true ; break ;
2156
2156
case AArch64::BI__builtin_neon_vcvtms_s32_f32:
2157
2157
case AArch64::BI__builtin_neon_vcvtmd_s64_f64:
2158
- Int = Intrinsic::arm_neon_vcvtms ;
2158
+ Int = Intrinsic::aarch64_neon_fcvtms ;
2159
2159
s = " vcvtms" ; OverloadCvtInt = true ; break ;
2160
2160
case AArch64::BI__builtin_neon_vcvtms_u32_f32:
2161
2161
case AArch64::BI__builtin_neon_vcvtmd_u64_f64:
2162
- Int = Intrinsic::arm_neon_vcvtmu ;
2162
+ Int = Intrinsic::aarch64_neon_fcvtmu ;
2163
2163
s = " vcvtmu" ; OverloadCvtInt = true ; break ;
2164
2164
case AArch64::BI__builtin_neon_vcvtns_s32_f32:
2165
2165
case AArch64::BI__builtin_neon_vcvtnd_s64_f64:
2166
- Int = Intrinsic::arm_neon_vcvtns ;
2166
+ Int = Intrinsic::aarch64_neon_fcvtns ;
2167
2167
s = " vcvtns" ; OverloadCvtInt = true ; break ;
2168
2168
case AArch64::BI__builtin_neon_vcvtns_u32_f32:
2169
2169
case AArch64::BI__builtin_neon_vcvtnd_u64_f64:
2170
- Int = Intrinsic::arm_neon_vcvtnu ;
2170
+ Int = Intrinsic::aarch64_neon_fcvtnu ;
2171
2171
s = " vcvtnu" ; OverloadCvtInt = true ; break ;
2172
2172
case AArch64::BI__builtin_neon_vcvtps_s32_f32:
2173
2173
case AArch64::BI__builtin_neon_vcvtpd_s64_f64:
2174
- Int = Intrinsic::arm_neon_vcvtps ;
2174
+ Int = Intrinsic::aarch64_neon_fcvtps ;
2175
2175
s = " vcvtps" ; OverloadCvtInt = true ; break ;
2176
2176
case AArch64::BI__builtin_neon_vcvtps_u32_f32:
2177
2177
case AArch64::BI__builtin_neon_vcvtpd_u64_f64:
2178
- Int = Intrinsic::arm_neon_vcvtpu ;
2178
+ Int = Intrinsic::aarch64_neon_fcvtpu ;
2179
2179
s = " vcvtpu" ; OverloadCvtInt = true ; break ;
2180
2180
case AArch64::BI__builtin_neon_vcvts_s32_f32:
2181
2181
case AArch64::BI__builtin_neon_vcvtd_s64_f64:
@@ -2637,8 +2637,7 @@ static Value *EmitAArch64ScalarBuiltinExpr(CodeGenFunction &CGF,
2637
2637
llvm::VectorType *VTy = llvm::VectorType::get (Ty, 1 );
2638
2638
Tys.push_back (VTy);
2639
2639
Ty = CGF.ConvertType (Arg->getType ());
2640
- VTy = llvm::VectorType::get (Ty, 1 );
2641
- Tys.push_back (VTy);
2640
+ Tys.push_back (Ty);
2642
2641
2643
2642
F = CGF.CGM .getIntrinsic (Int, Tys);
2644
2643
} else
@@ -3747,7 +3746,7 @@ Value *CodeGenFunction::EmitAArch64BuiltinExpr(unsigned BuiltinID,
3747
3746
llvm::Type *EltTy = FloatTy;
3748
3747
llvm::Type *ResTy = llvm::VectorType::get (EltTy, 2 );
3749
3748
llvm::Type *Tys[2 ] = { ResTy, Ty };
3750
- Int = Intrinsic::aarch64_neon_fcvtxn ;
3749
+ Int = Intrinsic::aarch64_neon_vcvtxn ;
3751
3750
return EmitNeonCall (CGM.getIntrinsic (Int, Tys), Ops, " vcvtx_f32_f64" );
3752
3751
}
3753
3752
case AArch64::BI__builtin_neon_vcvt_f64_f32: {
0 commit comments