diff --git a/clang/include/clang/CIR/Dialect/IR/CIROps.td b/clang/include/clang/CIR/Dialect/IR/CIROps.td index 63bf3b6b9438..1e6ff92e207e 100644 --- a/clang/include/clang/CIR/Dialect/IR/CIROps.td +++ b/clang/include/clang/CIR/Dialect/IR/CIROps.td @@ -3427,11 +3427,11 @@ def FuncOp : CIR_Op<"func", [ } //===----------------------------------------------------------------------===// -// IntrinsicCallOp +// LLVMIntrinsicCallOp //===----------------------------------------------------------------------===// -def IntrinsicCallOp : CIR_Op<"llvm.intrinsic"> { - let summary = "Call to intrinsic functions that is not defined in CIR"; +def LLVMIntrinsicCallOp : CIR_Op<"llvm.intrinsic"> { + let summary = "Call to llvm intrinsic functions that is not defined in CIR"; let description = [{ `cir.llvm.intrinsic` operation represents a call-like expression which has return type and arguments that maps directly to a llvm intrinsic. @@ -3458,7 +3458,6 @@ def IntrinsicCallOp : CIR_Op<"llvm.intrinsic"> { }]>, ]; - let hasVerifier = 1; } //===----------------------------------------------------------------------===// diff --git a/clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp b/clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp index 0f529df219e7..a940e361d68f 100644 --- a/clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp +++ b/clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp @@ -2127,7 +2127,7 @@ static mlir::Value buildArmLdrexNon128Intrinsic(unsigned int builtinID, CIRGenFunction &cgf) { StringRef intrinsicName; if (builtinID == clang::AArch64::BI__builtin_arm_ldrex) { - intrinsicName = "llvm.aarch64.ldxr"; + intrinsicName = "aarch64.ldxr"; } else { llvm_unreachable("Unknown builtinID"); } @@ -2141,8 +2141,9 @@ static mlir::Value buildArmLdrexNon128Intrinsic(unsigned int builtinID, // which can be found under LLVM IR directory. mlir::Type funcResTy = builder.getSInt64Ty(); mlir::Location loc = cgf.getLoc(clangCallExpr->getExprLoc()); - mlir::cir::IntrinsicCallOp op = builder.create( - loc, builder.getStringAttr(intrinsicName), funcResTy, loadAddr); + mlir::cir::LLVMIntrinsicCallOp op = + builder.create( + loc, builder.getStringAttr(intrinsicName), funcResTy, loadAddr); mlir::Value res = op.getResult(); // Convert result type to the expected type. @@ -2269,7 +2270,7 @@ mlir::Value buildNeonCall(CIRGenBuilderTy &builder, return nullptr; } return builder - .create( + .create( loc, builder.getStringAttr(intrinsicName), funcResTy, args) .getResult(); } @@ -2379,8 +2380,8 @@ mlir::Value CIRGenFunction::buildCommonNeonBuiltinExpr( return buildNeonCall(builder, {resTy, mulVecT, SInt32Ty}, ops, (builtinID == NEON::BI__builtin_neon_vqdmulhq_lane_v || builtinID == NEON::BI__builtin_neon_vqdmulh_lane_v) - ? "llvm.aarch64.neon.sqdmulh.lane" - : "llvm.aarch64.neon.sqrdmulh.lane", + ? "aarch64.neon.sqdmulh.lane" + : "aarch64.neon.sqrdmulh.lane", resTy, getLoc(e->getExprLoc())); } case NEON::BI__builtin_neon_vqshlu_n_v: @@ -2388,18 +2389,18 @@ mlir::Value CIRGenFunction::buildCommonNeonBuiltinExpr( // These intrinsics expect signed vector type as input, but // return unsigned vector type. mlir::cir::VectorType srcTy = getSignChangedVectorType(builder, vTy); - return buildNeonCall( - builder, {srcTy, srcTy}, ops, "llvm.aarch64.neon.sqshlu", vTy, - getLoc(e->getExprLoc()), false, /* not fp constrained op */ - 1, /* second arg is shift amount */ - false /* leftshift */); + return buildNeonCall(builder, {srcTy, srcTy}, ops, "aarch64.neon.sqshlu", + vTy, getLoc(e->getExprLoc()), + false, /* not fp constrained op */ + 1, /* second arg is shift amount */ + false /* leftshift */); } case NEON::BI__builtin_neon_vrshr_n_v: case NEON::BI__builtin_neon_vrshrq_n_v: { return buildNeonCall( builder, {vTy, isUnsigned ? getSignChangedVectorType(builder, vTy) : vTy}, ops, - isUnsigned ? "llvm.aarch64.neon.urshl" : "llvm.aarch64.neon.srshl", vTy, + isUnsigned ? "aarch64.neon.urshl" : "aarch64.neon.srshl", vTy, getLoc(e->getExprLoc()), false, /* not fp constrained op*/ 1, /* second arg is shift amount */ true /* rightshift */); @@ -2440,7 +2441,7 @@ mlir::Value CIRGenFunction::buildCommonNeonBuiltinExpr( ops[0] = builder.createBitcast(ops[0], ty); ops[1] = builder.createBitcast(ops[1], ty); ops[0] = builder.createAnd(ops[0], ops[1]); - // Note that during LLVM Lowering, result of `VecCmpOp` is sign extended, + // Note that during vmVM Lowering, result of `VecCmpOp` is sign extended, // matching traditional codegen behavior. return builder.create( loc, ty, mlir::cir::CmpOpKind::ne, ops[0], builder.getZero(loc, ty)); @@ -2459,42 +2460,41 @@ mlir::Value CIRGenFunction::buildCommonNeonBuiltinExpr( case NEON::BI__builtin_neon_vpadd_v: case NEON::BI__builtin_neon_vpaddq_v: { intrincsName = mlir::isa(vTy.getEltType()) - ? "llvm.aarch64.neon.faddp" - : "llvm.aarch64.neon.addp"; + ? "aarch64.neon.faddp" + : "aarch64.neon.addp"; break; } case NEON::BI__builtin_neon_vqadd_v: case NEON::BI__builtin_neon_vqaddq_v: { - intrincsName = (intrinicId != altLLVMIntrinsic) ? "llvm.aarch64.neon.uqadd" - : "llvm.aarch64.neon.sqadd"; + intrincsName = (intrinicId != altLLVMIntrinsic) ? "aarch64.neon.uqadd" + : "aarch64.neon.sqadd"; break; } case NEON::BI__builtin_neon_vqsub_v: case NEON::BI__builtin_neon_vqsubq_v: { - intrincsName = (intrinicId != altLLVMIntrinsic) ? "llvm.aarch64.neon.uqsub" - : "llvm.aarch64.neon.sqsub"; + intrincsName = (intrinicId != altLLVMIntrinsic) ? "aarch64.neon.uqsub" + : "aarch64.neon.sqsub"; break; } case NEON::BI__builtin_neon_vrhadd_v: case NEON::BI__builtin_neon_vrhaddq_v: { - intrincsName = (intrinicId != altLLVMIntrinsic) - ? "llvm.aarch64.neon.urhadd" - : "llvm.aarch64.neon.srhadd"; + intrincsName = (intrinicId != altLLVMIntrinsic) ? "aarch64.neon.urhadd" + : "aarch64.neon.srhadd"; break; } case NEON::BI__builtin_neon_vshlq_v: { - intrincsName = (intrinicId != altLLVMIntrinsic) ? "llvm.aarch64.neon.ushl" - : "llvm.aarch64.neon.sshl"; + intrincsName = (intrinicId != altLLVMIntrinsic) ? "aarch64.neon.ushl" + : "aarch64.neon.sshl"; break; } case NEON::BI__builtin_neon_vhadd_v: case NEON::BI__builtin_neon_vhaddq_v: { - intrincsName = (intrinicId != altLLVMIntrinsic) ? "llvm.aarch64.neon.uhadd" - : "llvm.aarch64.neon.shadd"; + intrincsName = (intrinicId != altLLVMIntrinsic) ? "aarch64.neon.uhadd" + : "aarch64.neon.shadd"; break; } case NEON::BI__builtin_neon_vqmovun_v: { - intrincsName = "llvm.aarch64.neon.sqxtun"; + intrincsName = "aarch64.neon.sqxtun"; argTypes.push_back(builder.getExtendedOrTruncatedElementVectorType( vTy, true /* extended */, true /* signed */)); break; @@ -3259,10 +3259,9 @@ CIRGenFunction::buildAArch64BuiltinExpr(unsigned BuiltinID, const CallExpr *E, llvm_unreachable("NYI"); } case NEON::BI__builtin_neon_vmull_v: { - llvm::StringRef name = - usgn ? "llvm.aarch64.neon.umull" : "llvm.aarch64.neon.smull"; + llvm::StringRef name = usgn ? "aarch64.neon.umull" : "aarch64.neon.smull"; if (Type.isPoly()) - name = "llvm.aarch64.neon.pmull"; + name = "aarch64.neon.pmull"; mlir::cir::VectorType argTy = builder.getExtendedOrTruncatedElementVectorType( ty, false /* truncated */, !usgn); @@ -3277,10 +3276,9 @@ CIRGenFunction::buildAArch64BuiltinExpr(unsigned BuiltinID, const CallExpr *E, } case NEON::BI__builtin_neon_vmin_v: case NEON::BI__builtin_neon_vminq_v: { - llvm::StringRef name = - usgn ? "llvm.aarch64.neon.umin" : "llvm.aarch64.neon.smin"; + llvm::StringRef name = usgn ? "aarch64.neon.umin" : "aarch64.neon.smin"; if (mlir::cir::isFPOrFPVectorTy(ty)) - name = "llvm.aarch64.neon.fmin"; + name = "aarch64.neon.fmin"; return buildNeonCall(builder, {ty, ty}, Ops, name, ty, getLoc(E->getExprLoc())); } @@ -3289,10 +3287,9 @@ CIRGenFunction::buildAArch64BuiltinExpr(unsigned BuiltinID, const CallExpr *E, } case NEON::BI__builtin_neon_vabd_v: case NEON::BI__builtin_neon_vabdq_v: { - llvm::StringRef name = - usgn ? "llvm.aarch64.neon.uabd" : "llvm.aarch64.neon.sabd"; + llvm::StringRef name = usgn ? "aarch64.neon.uabd" : "aarch64.neon.sabd"; if (mlir::cir::isFPOrFPVectorTy(ty)) - name = "llvm.aarch64.neon.fabd"; + name = "aarch64.neon.fabd"; return buildNeonCall(builder, {ty, ty}, Ops, name, ty, getLoc(E->getExprLoc())); } @@ -3332,7 +3329,7 @@ CIRGenFunction::buildAArch64BuiltinExpr(unsigned BuiltinID, const CallExpr *E, builder, {builder.getExtendedOrTruncatedElementVectorType(ty, true, true), SInt32Ty}, - Ops, "llvm.aarch64.neon.sqrshrun", ty, getLoc(E->getExprLoc())); + Ops, "aarch64.neon.sqrshrun", ty, getLoc(E->getExprLoc())); case NEON::BI__builtin_neon_vqshrn_n_v: llvm_unreachable("NYI"); case NEON::BI__builtin_neon_vrshrn_n_v: @@ -3342,7 +3339,7 @@ CIRGenFunction::buildAArch64BuiltinExpr(unsigned BuiltinID, const CallExpr *E, vTy, true /* extend */, mlir::cast(vTy.getEltType()).isSigned()), SInt32Ty}, - Ops, "llvm.aarch64.neon.rshrn", ty, getLoc(E->getExprLoc())); + Ops, "aarch64.neon.rshrn", ty, getLoc(E->getExprLoc())); case NEON::BI__builtin_neon_vqrshrn_n_v: llvm_unreachable("NYI"); case NEON::BI__builtin_neon_vrndah_f16: { @@ -3351,7 +3348,7 @@ CIRGenFunction::buildAArch64BuiltinExpr(unsigned BuiltinID, const CallExpr *E, case NEON::BI__builtin_neon_vrnda_v: case NEON::BI__builtin_neon_vrndaq_v: { assert(!MissingFeatures::buildConstrainedFPCall()); - return buildNeonCall(builder, {ty}, Ops, "llvm.round", ty, + return buildNeonCall(builder, {ty}, Ops, "round", ty, getLoc(E->getExprLoc())); } case NEON::BI__builtin_neon_vrndih_f16: { @@ -3374,7 +3371,7 @@ CIRGenFunction::buildAArch64BuiltinExpr(unsigned BuiltinID, const CallExpr *E, case NEON::BI__builtin_neon_vrndns_f32: { mlir::Value arg0 = buildScalarExpr(E->getArg(0)); args.push_back(arg0); - return buildNeonCall(builder, {arg0.getType()}, args, "llvm.roundeven.f32", + return buildNeonCall(builder, {arg0.getType()}, args, "roundeven.f32", getCIRGenModule().FloatTy, getLoc(E->getExprLoc())); } case NEON::BI__builtin_neon_vrndph_f16: { diff --git a/clang/lib/CIR/Dialect/IR/CIRDialect.cpp b/clang/lib/CIR/Dialect/IR/CIRDialect.cpp index f3f30f071eab..47c6d3e7ee57 100644 --- a/clang/lib/CIR/Dialect/IR/CIRDialect.cpp +++ b/clang/lib/CIR/Dialect/IR/CIRDialect.cpp @@ -2536,12 +2536,6 @@ LogicalResult mlir::cir::FuncOp::verifyType() { return success(); } -LogicalResult mlir::cir::IntrinsicCallOp::verify() { - if (!getIntrinsicName().starts_with("llvm.")) - return emitOpError() << "intrinsic name must start with 'llvm.'"; - return success(); -} - // Verifies linkage types // - functions don't have 'common' linkage // - external functions have 'external' or 'extern_weak' linkage diff --git a/clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp b/clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp index 0102629e7c39..f3156ae15429 100644 --- a/clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp +++ b/clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp @@ -2981,12 +2981,13 @@ static mlir::LLVM::CallIntrinsicOp replaceOpWithCallLLVMIntrinsicOp( } class CIRIntrinsicCallLowering - : public mlir::OpConversionPattern { + : public mlir::OpConversionPattern { public: - using OpConversionPattern::OpConversionPattern; + using OpConversionPattern< + mlir::cir::LLVMIntrinsicCallOp>::OpConversionPattern; mlir::LogicalResult - matchAndRewrite(mlir::cir::IntrinsicCallOp op, OpAdaptor adaptor, + matchAndRewrite(mlir::cir::LLVMIntrinsicCallOp op, OpAdaptor adaptor, mlir::ConversionPatternRewriter &rewriter) const override { mlir::Type llvmResTy = getTypeConverter()->convertType(op->getResultTypes()[0]); @@ -3003,7 +3004,7 @@ class CIRIntrinsicCallLowering // TODO(cir): MLIR LLVM dialect should handle this part as CIR has no way // to set LLVM IR attribute. assert(!::cir::MissingFeatures::llvmIntrinsicElementTypeSupport()); - replaceOpWithCallLLVMIntrinsicOp(rewriter, op, name, llvmResTy, + replaceOpWithCallLLVMIntrinsicOp(rewriter, op, "llvm." + name, llvmResTy, adaptor.getOperands()); return mlir::success(); } diff --git a/clang/test/CIR/CodeGen/AArch64/neon-arith.c b/clang/test/CIR/CodeGen/AArch64/neon-arith.c index 2bfa4e89505f..5df338e81ab6 100644 --- a/clang/test/CIR/CodeGen/AArch64/neon-arith.c +++ b/clang/test/CIR/CodeGen/AArch64/neon-arith.c @@ -23,7 +23,7 @@ float32_t test_vrndns_f32(float32_t a) { // CIR: cir.func internal private @vrndns_f32(%arg0: !cir.float {{.*}}) -> !cir.float // CIR: cir.store %arg0, [[ARG_SAVE:%.*]] : !cir.float, !cir.ptr // CIR: [[INTRIN_ARG:%.*]] = cir.load [[ARG_SAVE]] : !cir.ptr, !cir.float -// CIR: {{%.*}} = cir.llvm.intrinsic "llvm.roundeven.f32" [[INTRIN_ARG]] : (!cir.float) +// CIR: {{%.*}} = cir.llvm.intrinsic "roundeven.f32" [[INTRIN_ARG]] : (!cir.float) // CIR: cir.return {{%.*}} : !cir.float // CIR-LABEL: test_vrndns_f32 @@ -47,7 +47,7 @@ float32x2_t test_vrnda_f32(float32x2_t a) { // CIR: [[INTRIN_ARG:%.*]] = cir.load [[ARG_SAVE]] : !cir.ptr>, !cir.vector // CIR: [[INTRIN_ARG_CAST:%.*]] = cir.cast(bitcast, [[INTRIN_ARG]] : !cir.vector), !cir.vector // CIR: [[INTRIN_ARG_BACK:%.*]] = cir.cast(bitcast, [[INTRIN_ARG_CAST]] : !cir.vector), !cir.vector -// CIR: {{%.*}} = cir.llvm.intrinsic "llvm.round" [[INTRIN_ARG_BACK]] : (!cir.vector) -> !cir.vector +// CIR: {{%.*}} = cir.llvm.intrinsic "round" [[INTRIN_ARG_BACK]] : (!cir.vector) -> !cir.vector // CIR: cir.return {{%.*}} : !cir.vector // CIR-LABEL: test_vrnda_f32 @@ -71,7 +71,7 @@ float32x4_t test_vrndaq_f32(float32x4_t a) { // CIR: [[INTRIN_ARG:%.*]] = cir.load [[ARG_SAVE]] : !cir.ptr>, !cir.vector // CIR: [[INTRIN_ARG_CAST:%.*]] = cir.cast(bitcast, [[INTRIN_ARG]] : !cir.vector), !cir.vector // CIR: [[INTRIN_ARG_BACK:%.*]] = cir.cast(bitcast, [[INTRIN_ARG_CAST]] : !cir.vector), !cir.vector -// CIR: {{%.*}} = cir.llvm.intrinsic "llvm.round" [[INTRIN_ARG_BACK]] : (!cir.vector) -> !cir.vector +// CIR: {{%.*}} = cir.llvm.intrinsic "round" [[INTRIN_ARG_BACK]] : (!cir.vector) -> !cir.vector // CIR: cir.return {{%.*}} : !cir.vector // LLVM: {{.*}}test_vrndaq_f32(<4 x float>{{.*}}[[ARG:%.*]]) @@ -83,7 +83,7 @@ int8x8_t test_vpadd_s8(int8x8_t a, int8x8_t b) { } // CIR-LABEL: vpadd_s8 -// CIR: [[RES:%.*]] = cir.llvm.intrinsic "llvm.aarch64.neon.addp" {{%.*}}, {{%.*}} : +// CIR: [[RES:%.*]] = cir.llvm.intrinsic "aarch64.neon.addp" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}test_vpadd_s8(<8 x i8>{{.*}}[[A:%.*]], <8 x i8>{{.*}}[[B:%.*]]) @@ -96,7 +96,7 @@ int8x16_t test_vpaddq_s8(int8x16_t a, int8x16_t b) { } // CIR-LABEL: vpaddq_s8 -// CIR: [[RES:%.*]] = cir.llvm.intrinsic "llvm.aarch64.neon.addp" {{%.*}}, {{%.*}} : +// CIR: [[RES:%.*]] = cir.llvm.intrinsic "aarch64.neon.addp" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}test_vpaddq_s8(<16 x i8>{{.*}}[[A:%.*]], <16 x i8>{{.*}}[[B:%.*]]) @@ -108,7 +108,7 @@ uint8x8_t test_vpadd_u8(uint8x8_t a, uint8x8_t b) { } // CIR-LABEL: vpadd_u8 -// CIR: [[RES:%.*]] = cir.llvm.intrinsic "llvm.aarch64.neon.addp" {{%.*}}, {{%.*}} : +// CIR: [[RES:%.*]] = cir.llvm.intrinsic "aarch64.neon.addp" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}test_vpadd_u8(<8 x i8>{{.*}}[[A:%.*]], <8 x i8>{{.*}}[[B:%.*]]) @@ -120,7 +120,7 @@ int16x4_t test_vpadd_s16(int16x4_t a, int16x4_t b) { } // CIR-LABEL: vpadd_s16 -// CIR: [[RES:%.*]] = cir.llvm.intrinsic "llvm.aarch64.neon.addp" {{%.*}}, {{%.*}} : +// CIR: [[RES:%.*]] = cir.llvm.intrinsic "aarch64.neon.addp" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // CIR: {{%.*}} = cir.cast(bitcast, [[RES]] : !cir.vector), !cir.vector @@ -133,7 +133,7 @@ int16x8_t test_vpaddq_s16(int16x8_t a, int16x8_t b) { } // CIR-LABEL: vpaddq_s16 -// CIR: [[RES:%.*]] = cir.llvm.intrinsic "llvm.aarch64.neon.addp" {{%.*}}, {{%.*}} : +// CIR: [[RES:%.*]] = cir.llvm.intrinsic "aarch64.neon.addp" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // CIR: {{%.*}} = cir.cast(bitcast, [[RES]] : !cir.vector), !cir.vector @@ -146,7 +146,7 @@ uint16x4_t test_vpadd_u16(uint16x4_t a, uint16x4_t b) { } // CIR-LABEL: vpadd_u16 -// CIR: [[RES:%.*]] = cir.llvm.intrinsic "llvm.aarch64.neon.addp" {{%.*}}, {{%.*}} : +// CIR: [[RES:%.*]] = cir.llvm.intrinsic "aarch64.neon.addp" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // CIR: {{%.*}} = cir.cast(bitcast, [[RES]] : !cir.vector), !cir.vector @@ -159,7 +159,7 @@ int32x2_t test_vpadd_s32(int32x2_t a, int32x2_t b) { } // CIR-LABEL: vpadd_s32 -// CIR: [[RES:%.*]] = cir.llvm.intrinsic "llvm.aarch64.neon.addp" {{%.*}}, {{%.*}} : +// CIR: [[RES:%.*]] = cir.llvm.intrinsic "aarch64.neon.addp" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // CIR: {{%.*}} = cir.cast(bitcast, [[RES]] : !cir.vector), !cir.vector @@ -172,7 +172,7 @@ int32x4_t test_vpaddq_s32(int32x4_t a, int32x4_t b) { } // CIR-LABEL: vpaddq_s32 -// CIR: [[RES:%.*]] = cir.llvm.intrinsic "llvm.aarch64.neon.addp" {{%.*}}, {{%.*}} : +// CIR: [[RES:%.*]] = cir.llvm.intrinsic "aarch64.neon.addp" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // CIR: {{%.*}} = cir.cast(bitcast, [[RES]] : !cir.vector), !cir.vector @@ -185,7 +185,7 @@ float32x2_t test_vpadd_f32(float32x2_t a, float32x2_t b) { } // CIR-LABEL: vpadd_f32 -// CIR: [[RES:%.*]] = cir.llvm.intrinsic "llvm.aarch64.neon.addp" {{%.*}}, {{%.*}} : +// CIR: [[RES:%.*]] = cir.llvm.intrinsic "aarch64.neon.addp" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // CIR: {{%.*}} = cir.cast(bitcast, [[RES]] : !cir.vector), !cir.vector @@ -198,7 +198,7 @@ float32x4_t test_vpaddq_f32(float32x4_t a, float32x4_t b) { } // CIR-LABEL: vpaddq_f32 -// CIR: [[RES:%.*]] = cir.llvm.intrinsic "llvm.aarch64.neon.addp" {{%.*}}, {{%.*}} : +// CIR: [[RES:%.*]] = cir.llvm.intrinsic "aarch64.neon.addp" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // CIR: {{%.*}} = cir.cast(bitcast, [[RES]] : !cir.vector), !cir.vector @@ -211,7 +211,7 @@ float64x2_t test_vpaddq_f64(float64x2_t a, float64x2_t b) { } // CIR-LABEL: vpaddq_f64 -// CIR: [[RES:%.*]] = cir.llvm.intrinsic "llvm.aarch64.neon.addp" {{%.*}}, {{%.*}} : +// CIR: [[RES:%.*]] = cir.llvm.intrinsic "aarch64.neon.addp" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // CIR: {{%.*}} = cir.cast(bitcast, [[RES]] : !cir.vector), !cir.vector @@ -225,7 +225,7 @@ int16x4_t test_vqdmulh_lane_s16(int16x4_t a, int16x4_t v) { // CIR-LABEL: vqdmulh_lane_s16 // CIR: [[LANE:%.*]] = cir.const #cir.int<3> : !s32i -// CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.sqdmulh.lane" {{%.*}}, {{%.*}}, [[LANE]] : +// CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.sqdmulh.lane" {{%.*}}, {{%.*}}, [[LANE]] : // CIR: (!cir.vector, !cir.vector, !s32i) -> !cir.vector // LLVM: {{.*}}test_vqdmulh_lane_s16(<4 x i16>{{.*}}[[A:%.*]], <4 x i16>{{.*}}[[V:%.*]]) @@ -240,7 +240,7 @@ int32x2_t test_vqdmulh_lane_s32(int32x2_t a, int32x2_t v) { // CIR-LABEL: vqdmulh_lane_s32 // CIR: [[LANE:%.*]] = cir.const #cir.int<1> : !s32i -// CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.sqdmulh.lane" {{%.*}}, {{%.*}}, [[LANE]] : +// CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.sqdmulh.lane" {{%.*}}, {{%.*}}, [[LANE]] : // CIR: (!cir.vector, !cir.vector, !s32i) -> !cir.vector // LLVM: {{.*}}test_vqdmulh_lane_s32(<2 x i32>{{.*}}[[A:%.*]], <2 x i32>{{.*}}[[V:%.*]]) @@ -254,7 +254,7 @@ int16x8_t test_vqdmulhq_lane_s16(int16x8_t a, int16x4_t v) { // CIR-LABEL: vqdmulhq_lane_s16 // CIR: [[LANE:%.*]] = cir.const #cir.int<3> : !s32i -// CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.sqdmulh.lane" {{%.*}}, {{%.*}}, [[LANE]] : +// CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.sqdmulh.lane" {{%.*}}, {{%.*}}, [[LANE]] : // CIR: (!cir.vector, !cir.vector, !s32i) -> !cir.vector // LLVM: {{.*}}test_vqdmulhq_lane_s16(<8 x i16>{{.*}}[[A:%.*]], <4 x i16>{{.*}}[[V:%.*]]) @@ -268,7 +268,7 @@ int32x4_t test_vqdmulhq_lane_s32(int32x4_t a, int32x2_t v) { // CIR-LABEL: vqdmulhq_lane_s32 // CIR: [[LANE:%.*]] = cir.const #cir.int<1> : !s32i -// CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.sqdmulh.lane" {{%.*}}, {{%.*}}, [[LANE]] : +// CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.sqdmulh.lane" {{%.*}}, {{%.*}}, [[LANE]] : // CIR: (!cir.vector, !cir.vector, !s32i) -> !cir.vector // LLVM: {{.*}}test_vqdmulhq_lane_s32(<4 x i32>{{.*}}[[A:%.*]], <2 x i32>{{.*}}[[V:%.*]]) @@ -282,7 +282,7 @@ int16x4_t test_vqrdmulh_lane_s16(int16x4_t a, int16x4_t v) { // CIR-LABEL: vqrdmulh_lane_s16 // CIR: [[LANE:%.*]] = cir.const #cir.int<3> : !s32i -// CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.sqrdmulh.lane" {{%.*}}, {{%.*}}, [[LANE]] : +// CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.sqrdmulh.lane" {{%.*}}, {{%.*}}, [[LANE]] : // CIR-SAME: (!cir.vector, !cir.vector, !s32i) -> !cir.vector // LLVM: {{.*}}test_vqrdmulh_lane_s16(<4 x i16>{{.*}}[[A:%.*]], <4 x i16>{{.*}}[[V:%.*]]) @@ -296,7 +296,7 @@ int16x8_t test_vqrdmulhq_lane_s16(int16x8_t a, int16x4_t v) { // CIR-LABEL: vqrdmulhq_lane_s16 // CIR: [[LANE:%.*]] = cir.const #cir.int<3> : !s32i -// CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.sqrdmulh.lane" {{%.*}}, {{%.*}}, [[LANE]] : +// CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.sqrdmulh.lane" {{%.*}}, {{%.*}}, [[LANE]] : // CIR-SAME: (!cir.vector, !cir.vector, !s32i) -> !cir.vector // LLVM: {{.*}}test_vqrdmulhq_lane_s16(<8 x i16>{{.*}}[[A:%.*]], <4 x i16>{{.*}}[[V:%.*]]) @@ -310,7 +310,7 @@ int32x2_t test_vqrdmulh_lane_s32(int32x2_t a, int32x2_t v) { // CIR-LABEL: vqrdmulh_lane_s32 // CIR: [[LANE:%.*]] = cir.const #cir.int<1> : !s32i -// CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.sqrdmulh.lane" {{%.*}}, {{%.*}}, [[LANE]] : +// CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.sqrdmulh.lane" {{%.*}}, {{%.*}}, [[LANE]] : // CIR-SAME: (!cir.vector, !cir.vector, !s32i) -> !cir.vector // LLVM: {{.*}}test_vqrdmulh_lane_s32(<2 x i32>{{.*}}[[A:%.*]], <2 x i32>{{.*}}[[V:%.*]]) @@ -324,7 +324,7 @@ int32x4_t test_vqrdmulhq_lane_s32(int32x4_t a, int32x2_t v) { // CIR-LABEL: vqrdmulhq_lane_s32 // CIR: [[LANE:%.*]] = cir.const #cir.int<1> : !s32i -// CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.sqrdmulh.lane" {{%.*}}, {{%.*}}, [[LANE]] : +// CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.sqrdmulh.lane" {{%.*}}, {{%.*}}, [[LANE]] : // CIR-SAME: (!cir.vector, !cir.vector, !s32i) -> !cir.vector // LLVM: {{.*}}test_vqrdmulhq_lane_s32(<4 x i32>{{.*}}[[A:%.*]], <2 x i32>{{.*}}[[V:%.*]]) @@ -337,7 +337,7 @@ int8x16_t test_vqaddq_s8(int8x16_t a, int8x16_t b) { } // CIR-LABEL: vqaddq_s8 -// CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.sqadd" {{%.*}}, {{%.*}} : +// CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.sqadd" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}test_vqaddq_s8(<16 x i8>{{.*}} [[A:%.*]], <16 x i8>{{.*}} [[B:%.*]]) @@ -349,7 +349,7 @@ uint8x16_t test_vqaddq_u8(uint8x16_t a, uint8x16_t b) { } // CIR-LABEL: vqaddq_u8 -// CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.uqadd" {{%.*}}, {{%.*}} : +// CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.uqadd" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}test_vqaddq_u8(<16 x i8>{{.*}} [[A:%.*]], <16 x i8>{{.*}} [[B:%.*]]) @@ -361,7 +361,7 @@ int16x8_t test_vqaddq_s16(int16x8_t a, int16x8_t b) { } // CIR-LABEL: vqaddq_s16 -// CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.sqadd" {{%.*}}, {{%.*}} : +// CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.sqadd" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}test_vqaddq_s16(<8 x i16>{{.*}} [[A:%.*]], <8 x i16>{{.*}} [[B:%.*]]) @@ -373,7 +373,7 @@ uint16x8_t test_vqaddq_u16(uint16x8_t a, uint16x8_t b) { } // CIR-LABEL: vqaddq_u16 -// CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.uqadd" {{%.*}}, {{%.*}} : +// CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.uqadd" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}test_vqaddq_u16(<8 x i16>{{.*}} [[A:%.*]], <8 x i16>{{.*}} [[B:%.*]]) @@ -385,7 +385,7 @@ int32x4_t test_vqaddq_s32(int32x4_t a, int32x4_t b) { } // CIR-LABEL: vqaddq_s32 -// CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.sqadd" {{%.*}}, {{%.*}} : +// CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.sqadd" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}test_vqaddq_s32(<4 x i32>{{.*}} [[A:%.*]], <4 x i32>{{.*}} [[B:%.*]]) @@ -397,7 +397,7 @@ int64x2_t test_vqaddq_s64(int64x2_t a, int64x2_t b) { } // CIR-LABEL: vqaddq_s64 -// CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.sqadd" {{%.*}}, {{%.*}} : +// CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.sqadd" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}test_vqaddq_s64(<2 x i64>{{.*}} [[A:%.*]], <2 x i64>{{.*}} [[B:%.*]]) @@ -409,7 +409,7 @@ uint64x2_t test_vqaddq_u64(uint64x2_t a, uint64x2_t b) { } // CIR-LABEL: vqaddq_u64 -// CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.uqadd" {{%.*}}, {{%.*}} : +// CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.uqadd" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}test_vqaddq_u64(<2 x i64>{{.*}} [[A:%.*]], <2 x i64>{{.*}} [[B:%.*]]) @@ -421,7 +421,7 @@ int8x8_t test_vqsub_s8(int8x8_t a, int8x8_t b) { } // CIR-LABEL: vqsub_s8 -// CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.sqsub" {{%.*}}, {{%.*}} : +// CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.sqsub" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}test_vqsub_s8(<8 x i8>{{.*}} [[A:%.*]], <8 x i8>{{.*}} [[B:%.*]]) @@ -433,7 +433,7 @@ uint8x8_t test_vqsub_u8(uint8x8_t a, uint8x8_t b) { } // CIR-LABEL: vqsub_u8 -// CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.uqsub" {{%.*}}, {{%.*}} : +// CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.uqsub" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}test_vqsub_u8(<8 x i8>{{.*}} [[A:%.*]], <8 x i8>{{.*}} [[B:%.*]]) @@ -445,7 +445,7 @@ int16x4_t test_vqsub_s16(int16x4_t a, int16x4_t b) { } // CIR-LABEL: vqsub_s16 -// CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.sqsub" {{%.*}}, {{%.*}} : +// CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.sqsub" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}test_vqsub_s16(<4 x i16>{{.*}} [[A:%.*]], <4 x i16>{{.*}} [[B:%.*]]) @@ -457,7 +457,7 @@ uint16x4_t test_vqsub_u16(uint16x4_t a, uint16x4_t b) { } // CIR-LABEL: vqsub_u16 -// CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.uqsub" {{%.*}}, {{%.*}} : +// CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.uqsub" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}test_vqsub_u16(<4 x i16>{{.*}} [[A:%.*]], <4 x i16>{{.*}} [[B:%.*]]) @@ -469,7 +469,7 @@ int32x2_t test_vqsub_s32(int32x2_t a, int32x2_t b) { } // CIR-LABEL: vqsub_s32 -// CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.sqsub" {{%.*}}, {{%.*}} : +// CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.sqsub" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}test_vqsub_s32(<2 x i32>{{.*}} [[A:%.*]], <2 x i32>{{.*}} [[B:%.*]]) @@ -481,7 +481,7 @@ uint32x2_t test_vqsub_u32(uint32x2_t a, uint32x2_t b) { } // CIR-LABEL: vqsub_u32 -// CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.uqsub" {{%.*}}, {{%.*}} : +// CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.uqsub" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}test_vqsub_u32(<2 x i32>{{.*}} [[A:%.*]], <2 x i32>{{.*}} [[B:%.*]]) @@ -493,7 +493,7 @@ int64x1_t test_vqsub_s64(int64x1_t a, int64x1_t b) { } // CIR-LABEL: vqsub_s64 -// CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.sqsub" {{%.*}}, {{%.*}} : +// CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.sqsub" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}test_vqsub_s64(<1 x i64>{{.*}} [[A:%.*]], <1 x i64>{{.*}} [[B:%.*]]) @@ -505,7 +505,7 @@ uint64x1_t test_vqsub_u64(uint64x1_t a, uint64x1_t b) { } // CIR-LABEL: vqsub_u64 -// CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.uqsub" {{%.*}}, {{%.*}} : +// CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.uqsub" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}test_vqsub_u64(<1 x i64>{{.*}} [[A:%.*]], <1 x i64>{{.*}} [[B:%.*]]) @@ -517,7 +517,7 @@ int8x16_t test_vqsubq_s8(int8x16_t a, int8x16_t b) { } // CIR-LABEL: vqsubq_s8 -// CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.sqsub" {{%.*}}, {{%.*}} : +// CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.sqsub" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}test_vqsubq_s8(<16 x i8>{{.*}} [[A:%.*]], <16 x i8>{{.*}} [[B:%.*]]) @@ -529,7 +529,7 @@ uint8x16_t test_vqsubq_u8(uint8x16_t a, uint8x16_t b) { } // CIR-LABEL: vqsubq_u8 -// CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.uqsub" {{%.*}}, {{%.*}} : +// CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.uqsub" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}test_vqsubq_u8(<16 x i8>{{.*}} [[A:%.*]], <16 x i8>{{.*}} [[B:%.*]]) @@ -541,7 +541,7 @@ int16x8_t test_vqsubq_s16(int16x8_t a, int16x8_t b) { } // CIR-LABEL: vqsubq_s16 -// CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.sqsub" {{%.*}}, {{%.*}} : +// CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.sqsub" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}test_vqsubq_s16(<8 x i16>{{.*}} [[A:%.*]], <8 x i16>{{.*}} [[B:%.*]]) @@ -553,7 +553,7 @@ uint16x8_t test_vqsubq_u16(uint16x8_t a, uint16x8_t b) { } // CIR-LABEL: vqsubq_u16 -// CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.uqsub" {{%.*}}, {{%.*}} : +// CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.uqsub" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}test_vqsubq_u16(<8 x i16>{{.*}} [[A:%.*]], <8 x i16>{{.*}} [[B:%.*]]) @@ -565,7 +565,7 @@ int32x4_t test_vqsubq_s32(int32x4_t a, int32x4_t b) { } // CIR-LABEL: vqsubq_s32 -// CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.sqsub" {{%.*}}, {{%.*}} : +// CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.sqsub" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}test_vqsubq_s32(<4 x i32>{{.*}} [[A:%.*]], <4 x i32>{{.*}} [[B:%.*]]) @@ -577,7 +577,7 @@ uint32x4_t test_vqsubq_u32(uint32x4_t a, uint32x4_t b) { } // CIR-LABEL: vqsubq_u32 -// CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.uqsub" {{%.*}}, {{%.*}} : +// CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.uqsub" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}test_vqsubq_u32(<4 x i32>{{.*}} [[A:%.*]], <4 x i32>{{.*}} [[B:%.*]]) @@ -589,7 +589,7 @@ int64x2_t test_vqsubq_s64(int64x2_t a, int64x2_t b) { } // CIR-LABEL: vqsubq_s64 -// CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.sqsub" {{%.*}}, {{%.*}} : +// CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.sqsub" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}test_vqsubq_s64(<2 x i64>{{.*}} [[A:%.*]], <2 x i64>{{.*}} [[B:%.*]]) @@ -601,7 +601,7 @@ uint64x2_t test_vqsubq_u64(uint64x2_t a, uint64x2_t b) { } // CIR-LABEL: vqsubq_u64 -// CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.uqsub" {{%.*}}, {{%.*}} : +// CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.uqsub" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}test_vqsubq_u64(<2 x i64>{{.*}} [[A:%.*]], <2 x i64>{{.*}} [[B:%.*]]) diff --git a/clang/test/CIR/CodeGen/AArch64/neon-misc.c b/clang/test/CIR/CodeGen/AArch64/neon-misc.c index 62a78324bad8..abbf2510b466 100644 --- a/clang/test/CIR/CodeGen/AArch64/neon-misc.c +++ b/clang/test/CIR/CodeGen/AArch64/neon-misc.c @@ -456,7 +456,7 @@ uint8x8_t test_vqmovun_s16(int16x8_t a) { return vqmovun_s16(a); // CIR-LABEL: vqmovun_s16 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.sqxtun" {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.sqxtun" {{%.*}} : // CIR-SAME: (!cir.vector) -> !cir.vector // LLVM: {{.*}}test_vqmovun_s16(<8 x i16>{{.*}}[[A:%.*]]) @@ -469,7 +469,7 @@ uint16x4_t test_vqmovun_s32(int32x4_t a) { return vqmovun_s32(a); // CIR-LABEL: vqmovun_s32 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.sqxtun" {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.sqxtun" {{%.*}} : // CIR-SAME: (!cir.vector) -> !cir.vector // LLVM: {{.*}}test_vqmovun_s32(<4 x i32>{{.*}}[[A:%.*]]) @@ -483,7 +483,7 @@ uint32x2_t test_vqmovun_s64(int64x2_t a) { return vqmovun_s64(a); // CIR-LABEL: vqmovun_s64 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.sqxtun" {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.sqxtun" {{%.*}} : // CIR-SAME: (!cir.vector) -> !cir.vector // LLVM: {{.*}}test_vqmovun_s64(<2 x i64>{{.*}}[[A:%.*]]) diff --git a/clang/test/CIR/CodeGen/AArch64/neon.c b/clang/test/CIR/CodeGen/AArch64/neon.c index 13c0795f0be2..2711acf48d1d 100644 --- a/clang/test/CIR/CodeGen/AArch64/neon.c +++ b/clang/test/CIR/CodeGen/AArch64/neon.c @@ -846,7 +846,7 @@ int8x8_t test_vabd_s8(int8x8_t v1, int8x8_t v2) { return vabd_s8(v1, v2); // CIR-LABEL: vabd_s8 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.sabd" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.sabd" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) // LLVM: {{.*}}test_vabd_s8(<8 x i8>{{.*}}[[V1:%.*]], <8 x i8>{{.*}}[[V2:%.*]]) @@ -858,7 +858,7 @@ int16x4_t test_vabd_s16(int16x4_t v1, int16x4_t v2) { return vabd_s16(v1, v2); // CIR-LABEL: vabd_s16 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.sabd" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.sabd" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) // LLVM: {{.*}}test_vabd_s16(<4 x i16>{{.*}}[[V1:%.*]], <4 x i16>{{.*}}[[V2:%.*]]) @@ -870,7 +870,7 @@ int32x2_t test_vabd_s32(int32x2_t v1, int32x2_t v2) { return vabd_s32(v1, v2); // CIR-LABEL: vabd_s32 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.sabd" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.sabd" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) // LLVM: {{.*}}test_vabd_s32(<2 x i32>{{.*}}[[V1:%.*]], <2 x i32>{{.*}}[[V2:%.*]]) @@ -882,7 +882,7 @@ uint8x8_t test_vabd_u8(uint8x8_t v1, uint8x8_t v2) { return vabd_u8(v1, v2); // CIR-LABEL: vabd_u8 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.uabd" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.uabd" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) // LLVM: {{.*}}test_vabd_u8(<8 x i8>{{.*}}[[V1:%.*]], <8 x i8>{{.*}}[[V2:%.*]]) @@ -894,7 +894,7 @@ uint16x4_t test_vabd_u16(uint16x4_t v1, uint16x4_t v2) { return vabd_u16(v1, v2); // CIR-LABEL: vabd_u16 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.uabd" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.uabd" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) // LLVM: {{.*}}test_vabd_u16(<4 x i16>{{.*}}[[V1:%.*]], <4 x i16>{{.*}}[[V2:%.*]]) @@ -906,7 +906,7 @@ uint32x2_t test_vabd_u32(uint32x2_t v1, uint32x2_t v2) { return vabd_u32(v1, v2); // CIR-LABEL: vabd_u32 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.uabd" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.uabd" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) // LLVM: {{.*}}test_vabd_u32(<2 x i32>{{.*}}[[V1:%.*]], <2 x i32>{{.*}}[[V2:%.*]]) @@ -918,7 +918,7 @@ float32x2_t test_vabd_f32(float32x2_t v1, float32x2_t v2) { return vabd_f32(v1, v2); // CIR-LABEL: vabd_f32 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.fabd" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.fabd" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) // LLVM: {{.*}}test_vabd_f32(<2 x float>{{.*}}[[V1:%.*]], <2 x float>{{.*}}[[V2:%.*]]) @@ -930,7 +930,7 @@ int8x16_t test_vabdq_s8(int8x16_t v1, int8x16_t v2) { return vabdq_s8(v1, v2); // CIR-LABEL: vabdq_s8 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.sabd" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.sabd" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) // LLVM: {{.*}}test_vabdq_s8(<16 x i8>{{.*}}[[V1:%.*]], <16 x i8>{{.*}}[[V2:%.*]]) @@ -942,7 +942,7 @@ int16x8_t test_vabdq_s16(int16x8_t v1, int16x8_t v2) { return vabdq_s16(v1, v2); // CIR-LABEL: vabdq_s16 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.sabd" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.sabd" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) // LLVM: {{.*}}test_vabdq_s16(<8 x i16>{{.*}}[[V1:%.*]], <8 x i16>{{.*}}[[V2:%.*]]) @@ -954,7 +954,7 @@ int32x4_t test_vabdq_s32(int32x4_t v1, int32x4_t v2) { return vabdq_s32(v1, v2); // CIR-LABEL: vabdq_s32 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.sabd" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.sabd" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) // LLVM: {{.*}}test_vabdq_s32(<4 x i32>{{.*}}[[V1:%.*]], <4 x i32>{{.*}}[[V2:%.*]]) @@ -966,7 +966,7 @@ uint8x16_t test_vabdq_u8(uint8x16_t v1, uint8x16_t v2) { return vabdq_u8(v1, v2); // CIR-LABEL: vabdq_u8 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.uabd" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.uabd" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) // LLVM: {{.*}}test_vabdq_u8(<16 x i8>{{.*}}[[V1:%.*]], <16 x i8>{{.*}}[[V2:%.*]]) @@ -978,7 +978,7 @@ uint16x8_t test_vabdq_u16(uint16x8_t v1, uint16x8_t v2) { return vabdq_u16(v1, v2); // CIR-LABEL: vabdq_u16 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.uabd" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.uabd" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) // LLVM: {{.*}}test_vabdq_u16(<8 x i16>{{.*}}[[V1:%.*]], <8 x i16>{{.*}}[[V2:%.*]]) @@ -990,7 +990,7 @@ uint32x4_t test_vabdq_u32(uint32x4_t v1, uint32x4_t v2) { return vabdq_u32(v1, v2); // CIR-LABEL: vabdq_u32 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.uabd" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.uabd" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) // LLVM: {{.*}}test_vabdq_u32(<4 x i32>{{.*}}[[V1:%.*]], <4 x i32>{{.*}}[[V2:%.*]]) @@ -1002,7 +1002,7 @@ float32x4_t test_vabdq_f32(float32x4_t v1, float32x4_t v2) { return vabdq_f32(v1, v2); // CIR-LABEL: vabdq_f32 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.fabd" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.fabd" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) // LLVM: {{.*}}test_vabdq_f32(<4 x float>{{.*}}[[V1:%.*]], <4 x float>{{.*}}[[V2:%.*]]) @@ -1014,7 +1014,7 @@ float64x2_t test_vabdq_f64(float64x2_t v1, float64x2_t v2) { return vabdq_f64(v1, v2); // CIR-LABEL: vabdq_f64 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.fabd" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.fabd" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) // LLVM: {{.*}}test_vabdq_f64(<2 x double>{{.*}}[[V1:%.*]], <2 x double>{{.*}}[[V2:%.*]]) @@ -2572,7 +2572,7 @@ int8x8_t test_vhadd_s8(int8x8_t v1, int8x8_t v2) { return vhadd_s8(v1, v2); // CIR-LABEL: vhadd_s8 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.shadd" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.shadd" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}test_vhadd_s8(<8 x i8>{{.*}}[[V1:%.*]], <8 x i8>{{.*}}[[V2:%.*]]) @@ -2584,7 +2584,7 @@ int16x4_t test_vhadd_s16(int16x4_t v1, int16x4_t v2) { return vhadd_s16(v1, v2); // CIR-LABEL: vhadd_s16 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.shadd" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.shadd" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}test_vhadd_s16(<4 x i16>{{.*}}[[V1:%.*]], <4 x i16>{{.*}}[[V2:%.*]]) @@ -2599,7 +2599,7 @@ int32x2_t test_vhadd_s32(int32x2_t v1, int32x2_t v2) { return vhadd_s32(v1, v2); // CIR-LABEL: vhadd_s32 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.shadd" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.shadd" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}test_vhadd_s32(<2 x i32>{{.*}}[[V1:%.*]], <2 x i32>{{.*}}[[V2:%.*]]) @@ -2614,7 +2614,7 @@ uint8x8_t test_vhadd_u8(uint8x8_t v1, uint8x8_t v2) { return vhadd_u8(v1, v2); // CIR-LABEL: vhadd_u8 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.uhadd" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.uhadd" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}test_vhadd_u8(<8 x i8>{{.*}}[[V1:%.*]], <8 x i8>{{.*}}[[V2:%.*]]) @@ -2626,7 +2626,7 @@ uint16x4_t test_vhadd_u16(uint16x4_t v1, uint16x4_t v2) { return vhadd_u16(v1, v2); // CIR-LABEL: vhadd_u16 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.uhadd" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.uhadd" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}test_vhadd_u16(<4 x i16>{{.*}}[[V1:%.*]], <4 x i16>{{.*}}[[V2:%.*]]) @@ -2641,7 +2641,7 @@ uint32x2_t test_vhadd_u32(uint32x2_t v1, uint32x2_t v2) { return vhadd_u32(v1, v2); // CIR-LABEL: vhadd_u32 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.uhadd" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.uhadd" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}test_vhadd_u32(<2 x i32>{{.*}}[[V1:%.*]], <2 x i32>{{.*}}[[V2:%.*]]) @@ -2656,7 +2656,7 @@ int8x16_t test_vhaddq_s8(int8x16_t v1, int8x16_t v2) { return vhaddq_s8(v1, v2); // CIR-LABEL: vhaddq_s8 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.shadd" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.shadd" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}test_vhaddq_s8(<16 x i8>{{.*}}[[V1:%.*]], <16 x i8>{{.*}}[[V2:%.*]]) @@ -2668,7 +2668,7 @@ int16x8_t test_vhaddq_s16(int16x8_t v1, int16x8_t v2) { return vhaddq_s16(v1, v2); // CIR-LABEL: vhaddq_s16 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.shadd" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.shadd" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}test_vhaddq_s16(<8 x i16>{{.*}}[[V1:%.*]], <8 x i16>{{.*}}[[V2:%.*]]) @@ -2683,7 +2683,7 @@ int32x4_t test_vhaddq_s32(int32x4_t v1, int32x4_t v2) { return vhaddq_s32(v1, v2); // CIR-LABEL: vhaddq_s32 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.shadd" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.shadd" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}test_vhaddq_s32(<4 x i32>{{.*}}[[V1:%.*]], <4 x i32>{{.*}}[[V2:%.*]]) @@ -2698,7 +2698,7 @@ uint8x16_t test_vhaddq_u8(uint8x16_t v1, uint8x16_t v2) { return vhaddq_u8(v1, v2); // CIR-LABEL: vhaddq_u8 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.uhadd" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.uhadd" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}test_vhaddq_u8(<16 x i8>{{.*}}[[V1:%.*]], <16 x i8>{{.*}}[[V2:%.*]]) @@ -2710,7 +2710,7 @@ uint16x8_t test_vhaddq_u16(uint16x8_t v1, uint16x8_t v2) { return vhaddq_u16(v1, v2); // CIR-LABEL: vhaddq_u16 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.uhadd" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.uhadd" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}test_vhaddq_u16(<8 x i16>{{.*}}[[V1:%.*]], <8 x i16>{{.*}}[[V2:%.*]]) @@ -2725,7 +2725,7 @@ uint32x4_t test_vhaddq_u32(uint32x4_t v1, uint32x4_t v2) { return vhaddq_u32(v1, v2); // CIR-LABEL: vhaddq_u32 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.uhadd" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.uhadd" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}test_vhaddq_u32(<4 x i32>{{.*}}[[V1:%.*]], <4 x i32>{{.*}}[[V2:%.*]]) @@ -2848,7 +2848,7 @@ int8x8_t test_vrhadd_s8(int8x8_t v1, int8x8_t v2) { return vrhadd_s8(v1, v2); // CIR-LABEL: vrhadd_s8 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.srhadd" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.srhadd" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}@test_vrhadd_s8(<8 x i8>{{.*}}[[V1:%.*]], <8 x i8>{{.*}}[[V2:%.*]]) @@ -2860,7 +2860,7 @@ int16x4_t test_vrhadd_s16(int16x4_t v1, int16x4_t v2) { return vrhadd_s16(v1, v2); // CIR-LABEL: vrhadd_s16 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.srhadd" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.srhadd" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}@test_vrhadd_s16(<4 x i16>{{.*}}[[V1:%.*]], <4 x i16>{{.*}}[[V2:%.*]]) @@ -2875,7 +2875,7 @@ int32x2_t test_vrhadd_s32(int32x2_t v1, int32x2_t v2) { return vrhadd_s32(v1, v2); // CIR-LABEL: vrhadd_s32 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.srhadd" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.srhadd" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}@test_vrhadd_s32(<2 x i32>{{.*}}[[V1:%.*]], <2 x i32>{{.*}}[[V2:%.*]]) @@ -2890,7 +2890,7 @@ uint8x8_t test_vrhadd_u8(uint8x8_t v1, uint8x8_t v2) { return vrhadd_u8(v1, v2); // CIR-LABEL: vrhadd_u8 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.urhadd" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.urhadd" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}@test_vrhadd_u8(<8 x i8>{{.*}}[[V1:%.*]], <8 x i8>{{.*}}[[V2:%.*]]) @@ -2902,7 +2902,7 @@ uint16x4_t test_vrhadd_u16(uint16x4_t v1, uint16x4_t v2) { return vrhadd_u16(v1, v2); // CIR-LABEL: vrhadd_u16 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.urhadd" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.urhadd" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}@test_vrhadd_u16(<4 x i16>{{.*}}[[V1:%.*]], <4 x i16>{{.*}}[[V2:%.*]]) @@ -2917,7 +2917,7 @@ uint32x2_t test_vrhadd_u32(uint32x2_t v1, uint32x2_t v2) { return vrhadd_u32(v1, v2); // CIR-LABEL: vrhadd_u32 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.urhadd" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.urhadd" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}@test_vrhadd_u32(<2 x i32>{{.*}}[[V1:%.*]], <2 x i32>{{.*}}[[V2:%.*]]) @@ -2932,7 +2932,7 @@ int8x16_t test_vrhaddq_s8(int8x16_t v1, int8x16_t v2) { return vrhaddq_s8(v1, v2); // CIR-LABEL: vrhaddq_s8 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.srhadd" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.srhadd" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}@test_vrhaddq_s8(<16 x i8>{{.*}}[[V1:%.*]], <16 x i8>{{.*}}[[V2:%.*]]) @@ -2944,7 +2944,7 @@ int16x8_t test_vrhaddq_s16(int16x8_t v1, int16x8_t v2) { return vrhaddq_s16(v1, v2); // CIR-LABEL: vrhaddq_s16 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.srhadd" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.srhadd" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}@test_vrhaddq_s16(<8 x i16>{{.*}}[[V1:%.*]], <8 x i16>{{.*}}[[V2:%.*]]) @@ -2959,7 +2959,7 @@ int32x4_t test_vrhaddq_s32(int32x4_t v1, int32x4_t v2) { return vrhaddq_s32(v1, v2); // CIR-LABEL: vrhaddq_s32 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.srhadd" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.srhadd" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}@test_vrhaddq_s32(<4 x i32>{{.*}}[[V1:%.*]], <4 x i32>{{.*}}[[V2:%.*]]) @@ -2974,7 +2974,7 @@ uint8x16_t test_vrhaddq_u8(uint8x16_t v1, uint8x16_t v2) { return vrhaddq_u8(v1, v2); // CIR-LABEL: vrhaddq_u8 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.urhadd" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.urhadd" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}@test_vrhaddq_u8(<16 x i8>{{.*}}[[V1:%.*]], <16 x i8>{{.*}}[[V2:%.*]]) @@ -2986,7 +2986,7 @@ uint16x8_t test_vrhaddq_u16(uint16x8_t v1, uint16x8_t v2) { return vrhaddq_u16(v1, v2); // CIR-LABEL: vrhaddq_u16 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.urhadd" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.urhadd" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}@test_vrhaddq_u16(<8 x i16>{{.*}}[[V1:%.*]], <8 x i16>{{.*}}[[V2:%.*]]) @@ -3001,7 +3001,7 @@ uint32x4_t test_vrhaddq_u32(uint32x4_t v1, uint32x4_t v2) { return vrhaddq_u32(v1, v2); // CIR-LABEL: vrhaddq_u32 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.urhadd" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.urhadd" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}@test_vrhaddq_u32(<4 x i32>{{.*}}[[V1:%.*]], <4 x i32>{{.*}}[[V2:%.*]]) @@ -3015,7 +3015,7 @@ uint32x4_t test_vrhaddq_u32(uint32x4_t v1, uint32x4_t v2) { int8x8_t test_vqadd_s8(int8x8_t a, int8x8_t b) { return vqadd_s8(a, b); // CIR-LABEL: vqadd_s8 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.sqadd" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.sqadd" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM-LABEL: @test_vqadd_s8( @@ -3026,7 +3026,7 @@ int8x8_t test_vqadd_s8(int8x8_t a, int8x8_t b) { int16x4_t test_vqadd_s16(int16x4_t a, int16x4_t b) { return vqadd_s16(a, b); // CIR-LABEL: vqadd_s16 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.sqadd" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.sqadd" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM-LABEL: @test_vqadd_s16( @@ -3040,7 +3040,7 @@ int8x8_t test_vqadd_s8(int8x8_t a, int8x8_t b) { int32x2_t test_vqadd_s32(int32x2_t a, int32x2_t b) { return vqadd_s32(a, b); // CIR-LABEL: vqadd_s32 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.sqadd" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.sqadd" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM-LABEL: @test_vqadd_s32( @@ -3054,7 +3054,7 @@ int8x8_t test_vqadd_s8(int8x8_t a, int8x8_t b) { int64x1_t test_vqadd_s64(int64x1_t a, int64x1_t b) { return vqadd_s64(a, b); // CIR-LABEL: vqadd_s64 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.sqadd" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.sqadd" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM-LABEL: @test_vqadd_s64( @@ -3068,7 +3068,7 @@ int8x8_t test_vqadd_s8(int8x8_t a, int8x8_t b) { uint8x8_t test_vqadd_u8(uint8x8_t a, uint8x8_t b) { return vqadd_u8(a, b); // CIR-LABEL: vqadd_u8 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.uqadd" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.uqadd" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM-LABEL: @test_vqadd_u8( @@ -3079,7 +3079,7 @@ int8x8_t test_vqadd_s8(int8x8_t a, int8x8_t b) { uint16x4_t test_vqadd_u16(uint16x4_t a, uint16x4_t b) { return vqadd_u16(a, b); // CIR-LABEL: vqadd_u16 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.uqadd" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.uqadd" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM-LABEL: @test_vqadd_u16( @@ -3090,7 +3090,7 @@ int8x8_t test_vqadd_s8(int8x8_t a, int8x8_t b) { uint32x2_t test_vqadd_u32(uint32x2_t a, uint32x2_t b) { return vqadd_u32(a, b); // CIR-LABEL: vqadd_u32 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.uqadd" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.uqadd" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM-LABEL: @test_vqadd_u32( @@ -3101,7 +3101,7 @@ int8x8_t test_vqadd_s8(int8x8_t a, int8x8_t b) { uint64x1_t test_vqadd_u64(uint64x1_t a, uint64x1_t b) { return vqadd_u64(a, b); // CIR-LABEL: vqadd_u64 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.uqadd" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.uqadd" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM-LABEL: @test_vqadd_u64( @@ -3409,7 +3409,7 @@ int8x16_t test_vshlq_s8(int8x16_t a, int8x16_t b) { return vshlq_s8(a, b); // CIR-LABEL: vshlq_s8 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.sshl" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.sshl" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}test_vshlq_s8(<16 x i8>{{.*}}[[A:%.*]], <16 x i8>{{.*}}[[B:%.*]]) @@ -3421,7 +3421,7 @@ int16x8_t test_vshlq_s16(int16x8_t a, int16x8_t b) { return vshlq_s16(a, b); // CIR-LABEL: vshlq_s16 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.sshl" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.sshl" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}test_vshlq_s16(<8 x i16>{{.*}}[[A:%.*]], <8 x i16>{{.*}}[[B:%.*]]) @@ -3436,7 +3436,7 @@ int32x4_t test_vshlq_s32(int32x4_t a, int32x4_t b) { return vshlq_s32(a, b); // CIR-LABEL: vshlq_s32 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.sshl" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.sshl" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}test_vshlq_s32(<4 x i32>{{.*}}[[A:%.*]], <4 x i32>{{.*}}[[B:%.*]]) @@ -3451,7 +3451,7 @@ int64x2_t test_vshlq_s64(int64x2_t a, int64x2_t b) { return vshlq_s64(a, b); // CIR-LABEL: vshlq_s64 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.sshl" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.sshl" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}test_vshlq_s64(<2 x i64>{{.*}}[[A:%.*]], <2 x i64>{{.*}}[[B:%.*]]) @@ -3466,7 +3466,7 @@ uint8x16_t test_vshlq_u8(uint8x16_t a, int8x16_t b) { return vshlq_u8(a, b); // CIR-LABEL: vshlq_u8 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.ushl" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.ushl" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}test_vshlq_u8(<16 x i8>{{.*}}[[A:%.*]], <16 x i8>{{.*}}[[B:%.*]]) @@ -3478,7 +3478,7 @@ uint16x8_t test_vshlq_u16(uint16x8_t a, int16x8_t b) { return vshlq_u16(a, b); // CIR-LABEL: vshlq_u16 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.ushl" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.ushl" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}test_vshlq_u16(<8 x i16>{{.*}}[[A:%.*]], <8 x i16>{{.*}}[[B:%.*]]) @@ -3493,7 +3493,7 @@ uint32x4_t test_vshlq_u32(uint32x4_t a, int32x4_t b) { return vshlq_u32(a, b); // CIR-LABEL: vshlq_u32 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.ushl" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.ushl" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}test_vshlq_u32(<4 x i32>{{.*}}[[A:%.*]], <4 x i32>{{.*}}[[B:%.*]]) @@ -3508,7 +3508,7 @@ uint64x2_t test_vshlq_u64(uint64x2_t a, int64x2_t b) { return vshlq_u64(a, b); // CIR-LABEL: vshlq_u64 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.ushl" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.ushl" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}test_vshlq_u64(<2 x i64>{{.*}}[[A:%.*]], <2 x i64>{{.*}}[[B:%.*]]) @@ -4116,7 +4116,7 @@ int8x8_t test_vmin_s8(int8x8_t a, int8x8_t b) { return vmin_s8(a, b); // CIR-LABEL: vmin_s8 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.smin" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.smin" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}@test_vmin_s8(<8 x i8>{{.*}}[[A:%.*]], <8 x i8>{{.*}}[[B:%.*]]) @@ -4128,7 +4128,7 @@ int16x4_t test_vmin_s16(int16x4_t a, int16x4_t b) { return vmin_s16(a, b); // CIR-LABEL: vmin_s16 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.smin" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.smin" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}@test_vmin_s16(<4 x i16>{{.*}}[[A:%.*]], <4 x i16>{{.*}}[[B:%.*]]) @@ -4142,7 +4142,7 @@ int32x2_t test_vmin_s32(int32x2_t a, int32x2_t b) { return vmin_s32(a, b); // CIR-LABEL: vmin_s32 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.smin" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.smin" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}@test_vmin_s32(<2 x i32>{{.*}}[[A:%.*]], <2 x i32>{{.*}}[[B:%.*]]) @@ -4156,7 +4156,7 @@ uint8x8_t test_vmin_u8(uint8x8_t a, uint8x8_t b) { return vmin_u8(a, b); // CIR-LABEL: vmin_u8 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.umin" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.umin" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}@test_vmin_u8(<8 x i8>{{.*}}[[A:%.*]], <8 x i8>{{.*}}[[B:%.*]]) @@ -4168,7 +4168,7 @@ uint16x4_t test_vmin_u16(uint16x4_t a, uint16x4_t b) { return vmin_u16(a, b); // CIR-LABEL: vmin_u16 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.umin" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.umin" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}@test_vmin_u16(<4 x i16>{{.*}}[[A:%.*]], <4 x i16>{{.*}}[[B:%.*]]) @@ -4182,7 +4182,7 @@ uint32x2_t test_vmin_u32(uint32x2_t a, uint32x2_t b) { return vmin_u32(a, b); // CIR-LABEL: vmin_u32 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.umin" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.umin" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}@test_vmin_u32(<2 x i32>{{.*}}[[A:%.*]], <2 x i32>{{.*}}[[B:%.*]]) @@ -4196,7 +4196,7 @@ float32x2_t test_vmin_f32(float32x2_t a, float32x2_t b) { return vmin_f32(a, b); // CIR-LABEL: vmin_f32 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.fmin" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.fmin" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}@test_vmin_f32(<2 x float>{{.*}}[[A:%.*]], <2 x float>{{.*}}[[B:%.*]]) @@ -4210,7 +4210,7 @@ float64x1_t test_vmin_f64(float64x1_t a, float64x1_t b) { return vmin_f64(a, b); // CIR-LABEL: vmin_f64 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.fmin" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.fmin" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}@test_vmin_f64(<1 x double>{{.*}}[[A:%.*]], <1 x double>{{.*}}[[B:%.*]]) @@ -4224,7 +4224,7 @@ int8x16_t test_vminq_s8(int8x16_t a, int8x16_t b) { return vminq_s8(a, b); // CIR-LABEL: vminq_s8 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.smin" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.smin" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}@test_vminq_s8(<16 x i8>{{.*}}[[A:%.*]], <16 x i8>{{.*}}[[B:%.*]]) @@ -4236,7 +4236,7 @@ int16x8_t test_vminq_s16(int16x8_t a, int16x8_t b) { return vminq_s16(a, b); // CIR-LABEL: vminq_s16 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.smin" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.smin" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}@test_vminq_s16(<8 x i16>{{.*}}[[A:%.*]], <8 x i16>{{.*}}[[B:%.*]]) @@ -4250,7 +4250,7 @@ int32x4_t test_vminq_s32(int32x4_t a, int32x4_t b) { return vminq_s32(a, b); // CIR-LABEL: vminq_s32 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.smin" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.smin" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}@test_vminq_s32(<4 x i32>{{.*}}[[A:%.*]], <4 x i32>{{.*}}[[B:%.*]]) @@ -4264,7 +4264,7 @@ uint8x16_t test_vminq_u8(uint8x16_t a, uint8x16_t b) { return vminq_u8(a, b); // CIR-LABEL: vminq_u8 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.umin" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.umin" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}@test_vminq_u8(<16 x i8>{{.*}}[[A:%.*]], <16 x i8>{{.*}}[[B:%.*]]) @@ -4276,7 +4276,7 @@ uint16x8_t test_vminq_u16(uint16x8_t a, uint16x8_t b) { return vminq_u16(a, b); // CIR-LABEL: vminq_u16 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.umin" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.umin" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}@test_vminq_u16(<8 x i16>{{.*}}[[A:%.*]], <8 x i16>{{.*}}[[B:%.*]]) @@ -4290,7 +4290,7 @@ uint32x4_t test_vminq_u32(uint32x4_t a, uint32x4_t b) { return vminq_u32(a, b); // CIR-LABEL: vminq_u32 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.umin" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.umin" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}@test_vminq_u32(<4 x i32>{{.*}}[[A:%.*]], <4 x i32>{{.*}}[[B:%.*]]) @@ -4304,7 +4304,7 @@ float64x2_t test_vminq_f64(float64x2_t a, float64x2_t b) { return vminq_f64(a, b); // CIR-LABEL: vminq_f64 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.fmin" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.fmin" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}@test_vminq_f64(<2 x double>{{.*}}[[A:%.*]], <2 x double>{{.*}}[[B:%.*]]) @@ -5543,7 +5543,7 @@ int8x8_t test_vrshr_n_s8(int8x8_t a) { // CIR: [[AMT:%.*]] = cir.const #cir.const_vector<[#cir.int<-3> : !s8i, #cir.int<-3> : !s8i, // CIR-SAME: #cir.int<-3> : !s8i, #cir.int<-3> : !s8i, #cir.int<-3> : !s8i, // CIR-SAME: #cir.int<-3> : !s8i, #cir.int<-3> : !s8i, #cir.int<-3> : !s8i]> : !cir.vector - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.srshl" {{%.*}}, [[AMT]] : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.srshl" {{%.*}}, [[AMT]] : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}@test_vrshr_n_s8(<8 x i8>{{.*}}[[A:%.*]]) @@ -5558,7 +5558,7 @@ uint8x8_t test_vrshr_n_u8(uint8x8_t a) { // CIR: [[AMT:%.*]] = cir.const #cir.const_vector<[#cir.int<-3> : !s8i, #cir.int<-3> : !s8i, // CIR-SAME: #cir.int<-3> : !s8i, #cir.int<-3> : !s8i, #cir.int<-3> : !s8i, // CIR-SAME: #cir.int<-3> : !s8i, #cir.int<-3> : !s8i, #cir.int<-3> : !s8i]> : !cir.vector - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.urshl" {{%.*}}, [[AMT]] : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.urshl" {{%.*}}, [[AMT]] : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}@test_vrshr_n_u8(<8 x i8>{{.*}}[[A:%.*]]) @@ -5572,7 +5572,7 @@ int16x4_t test_vrshr_n_s16(int16x4_t a) { // CIR-LABEL: vrshr_n_s16 // CIR: [[AMT:%.*]] = cir.const #cir.const_vector<[#cir.int<-3> : !s16i, #cir.int<-3> : !s16i, // CIR-SAME: #cir.int<-3> : !s16i, #cir.int<-3> : !s16i]> : !cir.vector - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.srshl" {{%.*}}, [[AMT]] : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.srshl" {{%.*}}, [[AMT]] : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}@test_vrshr_n_s16(<4 x i16>{{.*}}[[A:%.*]]) @@ -5588,7 +5588,7 @@ uint16x4_t test_vrshr_n_u16(uint16x4_t a) { // CIR-LABEL: vrshr_n_u16 // CIR: [[AMT:%.*]] = cir.const #cir.const_vector<[#cir.int<-3> : !s16i, #cir.int<-3> : !s16i, // CIR-SAME: #cir.int<-3> : !s16i, #cir.int<-3> : !s16i]> : !cir.vector - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.urshl" {{%.*}}, [[AMT]] : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.urshl" {{%.*}}, [[AMT]] : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}@test_vrshr_n_u16(<4 x i16>{{.*}}[[A:%.*]]) @@ -5603,7 +5603,7 @@ int32x2_t test_vrshr_n_s32(int32x2_t a) { // CIR-LABEL: vrshr_n_s32 // CIR: [[AMT:%.*]] = cir.const #cir.const_vector<[#cir.int<-3> : !s32i, #cir.int<-3> : !s32i]> : !cir.vector - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.srshl" {{%.*}}, [[AMT]] : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.srshl" {{%.*}}, [[AMT]] : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}@test_vrshr_n_s32(<2 x i32>{{.*}}[[A:%.*]]) @@ -5618,7 +5618,7 @@ uint32x2_t test_vrshr_n_u32(uint32x2_t a) { // CIR-LABEL: vrshr_n_u32 // CIR: [[AMT:%.*]] = cir.const #cir.const_vector<[#cir.int<-3> : !s32i, #cir.int<-3> : !s32i]> : !cir.vector - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.urshl" {{%.*}}, [[AMT]] : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.urshl" {{%.*}}, [[AMT]] : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}@test_vrshr_n_u32(<2 x i32>{{.*}}[[A:%.*]]) @@ -5633,7 +5633,7 @@ int64x1_t test_vrshr_n_s64(int64x1_t a) { // CIR-LABEL: vrshr_n_s64 // CIR: [[AMT:%.*]] = cir.const #cir.const_vector<[#cir.int<-3> : !s64i]> : !cir.vector - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.srshl" {{%.*}}, [[AMT]] : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.srshl" {{%.*}}, [[AMT]] : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}@test_vrshr_n_s64(<1 x i64>{{.*}}[[A:%.*]]) @@ -5648,7 +5648,7 @@ uint64x1_t test_vrshr_n_u64(uint64x1_t a) { // CIR-LABEL: vrshr_n_u64 // CIR: [[AMT:%.*]] = cir.const #cir.const_vector<[#cir.int<-3> : !s64i]> : !cir.vector - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.urshl" {{%.*}}, [[AMT]] : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.urshl" {{%.*}}, [[AMT]] : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}@test_vrshr_n_u64(<1 x i64>{{.*}}[[A:%.*]]) @@ -5666,7 +5666,7 @@ int8x16_t test_vrshrq_n_s8(int8x16_t a) { // CIR-SAME: #cir.int<-3> : !s8i, #cir.int<-3> : !s8i, #cir.int<-3> : !s8i, #cir.int<-3> : !s8i, // CIR-SAME: #cir.int<-3> : !s8i, #cir.int<-3> : !s8i, #cir.int<-3> : !s8i, #cir.int<-3> : !s8i, // CIR-SAME: #cir.int<-3> : !s8i, #cir.int<-3> : !s8i, #cir.int<-3> : !s8i, #cir.int<-3> : !s8i]> : !cir.vector - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.srshl" {{%.*}}, [[AMT]] : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.srshl" {{%.*}}, [[AMT]] : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}@test_vrshrq_n_s8(<16 x i8>{{.*}}[[A:%.*]]) @@ -5683,7 +5683,7 @@ uint8x16_t test_vrshrq_n_u8(uint8x16_t a) { // CIR-SAME: #cir.int<-3> : !s8i, #cir.int<-3> : !s8i, #cir.int<-3> : !s8i, #cir.int<-3> : !s8i, // CIR-SAME: #cir.int<-3> : !s8i, #cir.int<-3> : !s8i, #cir.int<-3> : !s8i, #cir.int<-3> : !s8i, // CIR-SAME: #cir.int<-3> : !s8i, #cir.int<-3> : !s8i, #cir.int<-3> : !s8i, #cir.int<-3> : !s8i]> : !cir.vector - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.urshl" {{%.*}}, [[AMT]] : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.urshl" {{%.*}}, [[AMT]] : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}@test_vrshrq_n_u8(<16 x i8>{{.*}}[[A:%.*]]) @@ -5698,7 +5698,7 @@ int16x8_t test_vrshrq_n_s16(int16x8_t a) { // CIR-LABEL: vrshrq_n_s16 // CIR: [[AMT:%.*]] = cir.const #cir.const_vector<[#cir.int<-3> : !s16i, #cir.int<-3> : !s16i, #cir.int<-3> : !s16i, #cir.int<-3> : !s16i, // CIR-SAME: #cir.int<-3> : !s16i, #cir.int<-3> : !s16i, #cir.int<-3> : !s16i, #cir.int<-3> : !s16i]> : !cir.vector - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.srshl" {{%.*}}, [[AMT]] : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.srshl" {{%.*}}, [[AMT]] : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}@test_vrshrq_n_s16(<8 x i16>{{.*}}[[A:%.*]]) @@ -5714,7 +5714,7 @@ uint16x8_t test_vrshrq_n_u16(uint16x8_t a) { // CIR-LABEL: vrshrq_n_u16 // CIR: [[AMT:%.*]] = cir.const #cir.const_vector<[#cir.int<-3> : !s16i, #cir.int<-3> : !s16i, #cir.int<-3> : !s16i, #cir.int<-3> : !s16i, // CIR-SAME: #cir.int<-3> : !s16i, #cir.int<-3> : !s16i, #cir.int<-3> : !s16i, #cir.int<-3> : !s16i]> : !cir.vector - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.urshl" {{%.*}}, [[AMT]] : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.urshl" {{%.*}}, [[AMT]] : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}@test_vrshrq_n_u16(<8 x i16>{{.*}}[[A:%.*]]) @@ -5729,7 +5729,7 @@ int32x4_t test_vrshrq_n_s32(int32x4_t a) { // CIR-LABEL: vrshrq_n_s32 // CIR: [[AMT:%.*]] = cir.const #cir.const_vector<[#cir.int<-3> : !s32i, #cir.int<-3> : !s32i, #cir.int<-3> : !s32i, #cir.int<-3> : !s32i]> : !cir.vector - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.srshl" {{%.*}}, [[AMT]] : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.srshl" {{%.*}}, [[AMT]] : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}@test_vrshrq_n_s32(<4 x i32>{{.*}}[[A:%.*]]) @@ -5745,7 +5745,7 @@ uint32x4_t test_vrshrq_n_u32(uint32x4_t a) { // CIR-LABEL: vrshrq_n_u32 // CIR: [[AMT:%.*]] = cir.const #cir.const_vector<[#cir.int<-3> : !s32i, #cir.int<-3> : !s32i, // CIR-SAME: #cir.int<-3> : !s32i, #cir.int<-3> : !s32i]> : !cir.vector - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.urshl" {{%.*}}, [[AMT]] : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.urshl" {{%.*}}, [[AMT]] : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}@test_vrshrq_n_u32(<4 x i32>{{.*}}[[A:%.*]]) @@ -5760,7 +5760,7 @@ int64x2_t test_vrshrq_n_s64(int64x2_t a) { // CIR-LABEL: vrshrq_n_s64 // CIR: [[AMT:%.*]] = cir.const #cir.const_vector<[#cir.int<-3> : !s64i, #cir.int<-3> : !s64i]> : !cir.vector - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.srshl" {{%.*}}, [[AMT]] : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.srshl" {{%.*}}, [[AMT]] : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}@test_vrshrq_n_s64(<2 x i64>{{.*}}[[A:%.*]]) @@ -5775,7 +5775,7 @@ uint64x2_t test_vrshrq_n_u64(uint64x2_t a) { // CIR-LABEL: vrshrq_n_u64 // CIR: [[AMT:%.*]] = cir.const #cir.const_vector<[#cir.int<-3> : !s64i, #cir.int<-3> : !s64i]> : !cir.vector - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.urshl" {{%.*}}, [[AMT]] : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.urshl" {{%.*}}, [[AMT]] : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}@test_vrshrq_n_u64(<2 x i64>{{.*}}[[A:%.*]]) @@ -6291,7 +6291,7 @@ uint8x8_t test_vqshlu_n_s8(int8x8_t a) { // CIR-LABEL: vqshlu_n_s8 // CIR: [[AMT:%.*]] = cir.const #cir.const_vector<[#cir.int<3> : !s8i, #cir.int<3> : !s8i, #cir.int<3> : !s8i, // CIR: #cir.int<3> : !s8i, #cir.int<3> : !s8i, #cir.int<3> : !s8i, #cir.int<3> : !s8i, #cir.int<3> : !s8i]> : !cir.vector - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.sqshlu" {{%.*}}, [[AMT]] : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.sqshlu" {{%.*}}, [[AMT]] : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}@test_vqshlu_n_s8(<8 x i8>{{.*}}[[A:%.*]]) @@ -6305,7 +6305,7 @@ uint16x4_t test_vqshlu_n_s16(int16x4_t a) { // CIR-LABEL: vqshlu_n_s16 // CIR: [[AMT:%.*]] = cir.const #cir.const_vector<[#cir.int<3> : !s16i, #cir.int<3> : !s16i, // CIR-SAME:#cir.int<3> : !s16i, #cir.int<3> : !s16i]> : !cir.vector - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.sqshlu" {{%.*}}, [[AMT]] : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.sqshlu" {{%.*}}, [[AMT]] : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}@test_vqshlu_n_s16(<4 x i16>{{.*}}[[A:%.*]]) @@ -6320,7 +6320,7 @@ uint32x2_t test_vqshlu_n_s32(int32x2_t a) { // CIR-LABEL: vqshlu_n_s32 // CIR: [[AMT:%.*]] = cir.const #cir.const_vector<[#cir.int<3> : !s32i, #cir.int<3> : !s32i]> : !cir.vector - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.sqshlu" {{%.*}}, [[AMT]] : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.sqshlu" {{%.*}}, [[AMT]] : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}@test_vqshlu_n_s32(<2 x i32>{{.*}}[[A:%.*]]) @@ -6337,7 +6337,7 @@ uint8x16_t test_vqshluq_n_s8(int8x16_t a) { // CIR-SAME: #cir.int<3> : !s8i, #cir.int<3> : !s8i, #cir.int<3> : !s8i, #cir.int<3> : !s8i, #cir.int<3> : !s8i, // CIR-SAME: #cir.int<3> : !s8i, #cir.int<3> : !s8i, #cir.int<3> : !s8i, #cir.int<3> : !s8i, // CIR-SAME: #cir.int<3> : !s8i, #cir.int<3> : !s8i, #cir.int<3> : !s8i, #cir.int<3> : !s8i]> : !cir.vector - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.sqshlu" {{%.*}}, [[AMT]] : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.sqshlu" {{%.*}}, [[AMT]] : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}@test_vqshluq_n_s8(<16 x i8>{{.*}}[[A:%.*]]) @@ -6353,7 +6353,7 @@ uint16x8_t test_vqshluq_n_s16(int16x8_t a) { // CIR: [[AMT:%.*]] = cir.const #cir.const_vector<[#cir.int<3> : !s16i, #cir.int<3> : !s16i, // CIR-SAME: #cir.int<3> : !s16i, #cir.int<3> : !s16i, #cir.int<3> : !s16i, #cir.int<3> : !s16i, // CIR-SAME: #cir.int<3> : !s16i, #cir.int<3> : !s16i]> : !cir.vector - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.sqshlu" {{%.*}}, [[AMT]] : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.sqshlu" {{%.*}}, [[AMT]] : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}@test_vqshluq_n_s16(<8 x i16>{{.*}}[[A:%.*]]) @@ -6370,7 +6370,7 @@ uint32x4_t test_vqshluq_n_s32(int32x4_t a) { // CIR-LABEL: vqshluq_n_s32 // CIR: [[AMT:%.*]] = cir.const #cir.const_vector<[#cir.int<3> : !s32i, #cir.int<3> : !s32i, // CIR-SAME: #cir.int<3> : !s32i, #cir.int<3> : !s32i]> : !cir.vector - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.sqshlu" {{%.*}}, [[AMT]] : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.sqshlu" {{%.*}}, [[AMT]] : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}@test_vqshluq_n_s32(<4 x i32>{{.*}}[[A:%.*]]) @@ -6386,7 +6386,7 @@ uint64x2_t test_vqshluq_n_s64(int64x2_t a) { // CIR-LABEL: vqshluq_n_s64 // CIR: [[AMT:%.*]] = cir.const #cir.const_vector<[#cir.int<3> : !s64i, #cir.int<3> : !s64i]> : !cir.vector - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.sqshlu" {{%.*}}, [[AMT]] : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.sqshlu" {{%.*}}, [[AMT]] : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}@test_vqshluq_n_s64(<2 x i64>{{.*}}[[A:%.*]]) @@ -6647,7 +6647,7 @@ int32x2_t test_vrshrn_n_s64(int64x2_t a) { return vrshrn_n_s64(a, 19); // CIR-LABEL: vrshrn_n_s64 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.rshrn" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.rshrn" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !s32i) -> !cir.vector // LLVM: {{.*}}test_vrshrn_n_s64(<2 x i64>{{.*}}[[A:%.*]]) @@ -6661,7 +6661,7 @@ uint8x8_t test_vrshrn_n_u16(uint16x8_t a) { return vrshrn_n_u16(a, 3); // CIR-LABEL: vrshrn_n_u16 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.rshrn" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.rshrn" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !s32i) -> !cir.vector // LLVM: {{.*}}test_vrshrn_n_u16(<8 x i16>{{.*}}[[A:%.*]]) @@ -6675,7 +6675,7 @@ uint16x4_t test_vrshrn_n_u32(uint32x4_t a) { return vrshrn_n_u32(a, 9); // CIR-LABEL: vrshrn_n_u32 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.rshrn" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.rshrn" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !s32i) -> !cir.vector // LLVM: {{.*}}vrshrn_n_u32(<4 x i32>{{.*}}[[A:%.*]]) @@ -6689,7 +6689,7 @@ uint32x2_t test_vrshrn_n_u64(uint64x2_t a) { return vrshrn_n_u64(a, 19); // CIR-LABEL: vrshrn_n_u64 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.rshrn" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.rshrn" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !s32i) -> !cir.vector // LLVM: {{.*}}test_vrshrn_n_u64(<2 x i64>{{.*}}[[A:%.*]]) @@ -6765,7 +6765,7 @@ uint8x8_t test_vqrshrun_n_s16(int16x8_t a) { // CIR-LABEL: test_vqrshrun_n_s16 // CIR: [[INTRN_ARG1:%.*]] = cir.const #cir.int<3> : !s32i // CIR: [[INTRN_ARG0:%.*]] = cir.cast(bitcast, {{%.*}} : !cir.vector), !cir.vector - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.sqrshrun" [[INTRN_ARG0]], [[INTRN_ARG1]] : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.sqrshrun" [[INTRN_ARG0]], [[INTRN_ARG1]] : // CIR-SAME: (!cir.vector, !s32i) -> !cir.vector // LLVM-LABEL: @test_vqrshrun_n_s16( @@ -6780,7 +6780,7 @@ uint16x4_t test_vqrshrun_n_s32(int32x4_t a) { // CIR-LABEL: test_vqrshrun_n_s32 // CIR: [[INTRN_ARG1:%.*]] = cir.const #cir.int<9> : !s32i // CIR: [[INTRN_ARG0:%.*]] = cir.cast(bitcast, {{%.*}} : !cir.vector), !cir.vector - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.sqrshrun" [[INTRN_ARG0]], [[INTRN_ARG1]] : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.sqrshrun" [[INTRN_ARG0]], [[INTRN_ARG1]] : // CIR-SAME: (!cir.vector, !s32i) -> !cir.vector // LLVM-LABEL: @test_vqrshrun_n_s32( @@ -6795,7 +6795,7 @@ uint32x2_t test_vqrshrun_n_s64(int64x2_t a) { // CIR-LABEL: test_vqrshrun_n_s64 // CIR: [[INTRN_ARG1:%.*]] = cir.const #cir.int<19> : !s32i // CIR: [[INTRN_ARG0:%.*]] = cir.cast(bitcast, {{%.*}} : !cir.vector), !cir.vector - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.sqrshrun" [[INTRN_ARG0]], [[INTRN_ARG1]] : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.sqrshrun" [[INTRN_ARG0]], [[INTRN_ARG1]] : // CIR-SAME: (!cir.vector, !s32i) -> !cir.vector // LLVM-LABEL: @test_vqrshrun_n_s64( @@ -8737,7 +8737,7 @@ int16x8_t test_vmull_s8(int8x8_t a, int8x8_t b) { return vmull_s8(a, b); // CIR-LABEL: vmull_s8 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.smull" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.smull" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}test_vmull_s8(<8 x i8>{{.*}}[[A:%.*]], <8 x i8>{{.*}}[[B:%.*]]) @@ -8749,7 +8749,7 @@ int32x4_t test_vmull_s16(int16x4_t a, int16x4_t b) { return vmull_s16(a, b); // CIR-LABEL: vmull_s16 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.smull" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.smull" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}test_vmull_s16(<4 x i16>{{.*}}[[A:%.*]], <4 x i16>{{.*}}[[B:%.*]]) @@ -8763,7 +8763,7 @@ int64x2_t test_vmull_s32(int32x2_t a, int32x2_t b) { return vmull_s32(a, b); // CIR-LABEL: vmull_s32 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.smull" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.smull" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}test_vmull_s32(<2 x i32>{{.*}}[[A:%.*]], <2 x i32>{{.*}}[[B:%.*]]) @@ -8777,7 +8777,7 @@ uint16x8_t test_vmull_u8(uint8x8_t a, uint8x8_t b) { return vmull_u8(a, b); // CIR-LABEL: vmull_u8 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.umull" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.umull" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}test_vmull_u8(<8 x i8>{{.*}}[[A:%.*]], <8 x i8>{{.*}}[[B:%.*]]) @@ -8789,7 +8789,7 @@ uint32x4_t test_vmull_u16(uint16x4_t a, uint16x4_t b) { return vmull_u16(a, b); // CIR-LABEL: vmull_u16 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.umull" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.umull" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}test_vmull_u16(<4 x i16>{{.*}}[[A:%.*]], <4 x i16>{{.*}}[[B:%.*]]) @@ -8803,7 +8803,7 @@ uint64x2_t test_vmull_u32(uint32x2_t a, uint32x2_t b) { return vmull_u32(a, b); // CIR-LABEL: vmull_u32 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.umull" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.umull" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}test_vmull_u32(<2 x i32>{{.*}}[[A:%.*]], <2 x i32>{{.*}}[[B:%.*]]) @@ -9267,7 +9267,7 @@ poly16x8_t test_vmull_p8(poly8x8_t a, poly8x8_t b) { return vmull_p8(a, b); // CIR-LABEL: vmull_p8 - // CIR: {{%.*}} = cir.llvm.intrinsic "llvm.aarch64.neon.pmull" {{%.*}}, {{%.*}} : + // CIR: {{%.*}} = cir.llvm.intrinsic "aarch64.neon.pmull" {{%.*}}, {{%.*}} : // CIR-SAME: (!cir.vector, !cir.vector) -> !cir.vector // LLVM: {{.*}}test_vmull_p8(<8 x i8>{{.*}}[[A:%.*]], <8 x i8>{{.*}}[[B:%.*]]) diff --git a/clang/test/CIR/CodeGen/builtin-arm-ldrex.c b/clang/test/CIR/CodeGen/builtin-arm-ldrex.c index 974a370185eb..ba9bbb171bb7 100644 --- a/clang/test/CIR/CodeGen/builtin-arm-ldrex.c +++ b/clang/test/CIR/CodeGen/builtin-arm-ldrex.c @@ -9,31 +9,31 @@ int test_ldrex(char *addr, long long *addr64, float *addrfloat) { // CIR-LABEL: @test_ldrex int sum = 0; sum += __builtin_arm_ldrex(addr); -// CIR: [[INTRES0:%.*]] = cir.llvm.intrinsic "llvm.aarch64.ldxr" {{%[0-9]+}} : (!cir.ptr) -> !s64i +// CIR: [[INTRES0:%.*]] = cir.llvm.intrinsic "aarch64.ldxr" {{%[0-9]+}} : (!cir.ptr) -> !s64i // CIR: [[CAST0:%.*]] = cir.cast(integral, [[INTRES0]] : !s64i), !s8i // CIR: [[CAST_I32:%.*]] = cir.cast(integral, [[CAST0]] : !s8i), !s32i sum += __builtin_arm_ldrex((short *)addr); -// CIR: [[INTRES1:%.*]] = cir.llvm.intrinsic "llvm.aarch64.ldxr" {{%[0-9]+}} : (!cir.ptr) -> !s64i +// CIR: [[INTRES1:%.*]] = cir.llvm.intrinsic "aarch64.ldxr" {{%[0-9]+}} : (!cir.ptr) -> !s64i // CIR: [[CAST1:%.*]] = cir.cast(integral, [[INTRES1]] : !s64i), !s16i // CIR: [[CAST_I16:%.*]] = cir.cast(integral, [[CAST1]] : !s16i), !s32i sum += __builtin_arm_ldrex((int *)addr); -// CIR: [[INTRES2:%.*]] = cir.llvm.intrinsic "llvm.aarch64.ldxr" {{%[0-9]+}} : (!cir.ptr) -> !s64i +// CIR: [[INTRES2:%.*]] = cir.llvm.intrinsic "aarch64.ldxr" {{%[0-9]+}} : (!cir.ptr) -> !s64i // CIR: [[CAST2:%.*]] = cir.cast(integral, [[INTRES2]] : !s64i), !s32i sum += __builtin_arm_ldrex((long long *)addr); -// CIR: [[INTRES3:%.*]] = cir.llvm.intrinsic "llvm.aarch64.ldxr" {{%[0-9]+}} : (!cir.ptr) -> !s64i +// CIR: [[INTRES3:%.*]] = cir.llvm.intrinsic "aarch64.ldxr" {{%[0-9]+}} : (!cir.ptr) -> !s64i sum += __builtin_arm_ldrex(addr64); -// CIR: [[INTRES4:%.*]] = cir.llvm.intrinsic "llvm.aarch64.ldxr" {{%[0-9]+}} : (!cir.ptr) -> !s64i +// CIR: [[INTRES4:%.*]] = cir.llvm.intrinsic "aarch64.ldxr" {{%[0-9]+}} : (!cir.ptr) -> !s64i sum += *__builtin_arm_ldrex((int **)addr); -// CIR: [[INTRES5:%.*]] = cir.llvm.intrinsic "llvm.aarch64.ldxr" {{%[0-9]+}} : (!cir.ptr>) -> !s64i +// CIR: [[INTRES5:%.*]] = cir.llvm.intrinsic "aarch64.ldxr" {{%[0-9]+}} : (!cir.ptr>) -> !s64i sum += __builtin_arm_ldrex((struct twoFldT **)addr)->a; -// CIR: [[INTRES6:%.*]] = cir.llvm.intrinsic "llvm.aarch64.ldxr" {{%[0-9]+}} : (!cir.ptr>) -> !s64i +// CIR: [[INTRES6:%.*]] = cir.llvm.intrinsic "aarch64.ldxr" {{%[0-9]+}} : (!cir.ptr>) -> !s64i // CIR: [[CAST3:%.*]] = cir.cast(int_to_ptr, [[INTRES6]] : !s64i), !cir.ptr // CIR: [[MEMBER_A:%.*]] = cir.get_member [[CAST3]][0] {name = "a"} : !cir.ptr -> !cir.ptr diff --git a/clang/test/CIR/IR/invalid-llvm-intrinsic.cir b/clang/test/CIR/IR/invalid-llvm-intrinsic.cir deleted file mode 100644 index 38b53a4e1b30..000000000000 --- a/clang/test/CIR/IR/invalid-llvm-intrinsic.cir +++ /dev/null @@ -1,11 +0,0 @@ -// Test attempt to construct ill-formed global annotations -// RUN: cir-opt %s -verify-diagnostics - -!s32i = !cir.int -!s64i = !cir.int -cir.func @foo() { - %a = cir.alloca !s32i, !cir.ptr, ["a"] {alignment = 4 : i64} - // expected-error @below {{'cir.llvm.intrinsic' op intrinsic name must start with 'llvm.'}} - %i = cir.llvm.intrinsic "ll.aarch64.ldxr" %a : (!cir.ptr) -> !s64i - cir.return -}