@@ -2656,6 +2656,7 @@ static mlir::Value emitCommonNeonSISDBuiltinExpr(
2656
2656
unsigned builtinID = info.BuiltinID ;
2657
2657
clang::CIRGen::CIRGenBuilderTy &builder = cgf.getBuilder ();
2658
2658
mlir::Type resultTy = cgf.convertType (expr->getType ());
2659
+ mlir::Type argTy = cgf.convertType (expr->getArg (0 )->getType ());
2659
2660
mlir::Location loc = cgf.getLoc (expr->getExprLoc ());
2660
2661
2661
2662
switch (builtinID) {
@@ -2674,11 +2675,9 @@ static mlir::Value emitCommonNeonSISDBuiltinExpr(
2674
2675
llvm_unreachable (" neon_vaddlv_u32 NYI " );
2675
2676
case NEON::BI__builtin_neon_vaddlvq_s32:
2676
2677
llvm_unreachable (" neon_vaddlvq_s32 NYI " );
2677
- case NEON::BI__builtin_neon_vaddlvq_u32: {
2678
- mlir::Type argTy = cgf.convertType (expr->getArg (0 )->getType ());
2678
+ case NEON::BI__builtin_neon_vaddlvq_u32:
2679
2679
return emitNeonCall (builder, {argTy}, ops, " aarch64.neon.uaddlv" , resultTy,
2680
2680
loc);
2681
- }
2682
2681
case NEON::BI__builtin_neon_vaddv_f32:
2683
2682
llvm_unreachable (" neon_vaddv_f32 NYI " );
2684
2683
case NEON::BI__builtin_neon_vaddv_s32:
@@ -2694,9 +2693,9 @@ static mlir::Value emitCommonNeonSISDBuiltinExpr(
2694
2693
case NEON::BI__builtin_neon_vaddvq_s64:
2695
2694
llvm_unreachable (" neon_vaddvq_s64 NYI " );
2696
2695
case NEON::BI__builtin_neon_vaddvq_u32:
2697
- llvm_unreachable (" neon_vaddvq_u32 NYI " );
2698
2696
case NEON::BI__builtin_neon_vaddvq_u64:
2699
- llvm_unreachable (" neon_vaddvq_u64 NYI " );
2697
+ return emitNeonCall (builder, {argTy}, ops, " aarch64.neon.uaddv" , resultTy,
2698
+ loc);
2700
2699
case NEON::BI__builtin_neon_vcaged_f64:
2701
2700
llvm_unreachable (" neon_vcaged_f64 NYI " );
2702
2701
case NEON::BI__builtin_neon_vcages_f32:
0 commit comments