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