@@ -22398,10 +22398,6 @@ Value *CodeGenFunction::EmitRISCVBuiltinExpr(unsigned BuiltinID,
22398
22398
default: llvm_unreachable("unexpected builtin ID");
22399
22399
case RISCV::BI__builtin_riscv_orc_b_32:
22400
22400
case RISCV::BI__builtin_riscv_orc_b_64:
22401
- case RISCV::BI__builtin_riscv_clz_32:
22402
- case RISCV::BI__builtin_riscv_clz_64:
22403
- case RISCV::BI__builtin_riscv_ctz_32:
22404
- case RISCV::BI__builtin_riscv_ctz_64:
22405
22401
case RISCV::BI__builtin_riscv_clmul_32:
22406
22402
case RISCV::BI__builtin_riscv_clmul_64:
22407
22403
case RISCV::BI__builtin_riscv_clmulh_32:
@@ -22423,24 +22419,6 @@ Value *CodeGenFunction::EmitRISCVBuiltinExpr(unsigned BuiltinID,
22423
22419
case RISCV::BI__builtin_riscv_orc_b_64:
22424
22420
ID = Intrinsic::riscv_orc_b;
22425
22421
break;
22426
- case RISCV::BI__builtin_riscv_clz_32:
22427
- case RISCV::BI__builtin_riscv_clz_64: {
22428
- Function *F = CGM.getIntrinsic(Intrinsic::ctlz, Ops[0]->getType());
22429
- Value *Result = Builder.CreateCall(F, {Ops[0], Builder.getInt1(false)});
22430
- if (Result->getType() != ResultType)
22431
- Result = Builder.CreateIntCast(Result, ResultType, /*isSigned*/true,
22432
- "cast");
22433
- return Result;
22434
- }
22435
- case RISCV::BI__builtin_riscv_ctz_32:
22436
- case RISCV::BI__builtin_riscv_ctz_64: {
22437
- Function *F = CGM.getIntrinsic(Intrinsic::cttz, Ops[0]->getType());
22438
- Value *Result = Builder.CreateCall(F, {Ops[0], Builder.getInt1(false)});
22439
- if (Result->getType() != ResultType)
22440
- Result = Builder.CreateIntCast(Result, ResultType, /*isSigned*/true,
22441
- "cast");
22442
- return Result;
22443
- }
22444
22422
22445
22423
// Zbc
22446
22424
case RISCV::BI__builtin_riscv_clmul_32:
@@ -22515,6 +22493,25 @@ Value *CodeGenFunction::EmitRISCVBuiltinExpr(unsigned BuiltinID,
22515
22493
ID = Intrinsic::riscv_sm3p1;
22516
22494
break;
22517
22495
22496
+ case RISCV::BI__builtin_riscv_clz_32:
22497
+ case RISCV::BI__builtin_riscv_clz_64: {
22498
+ Function *F = CGM.getIntrinsic(Intrinsic::ctlz, Ops[0]->getType());
22499
+ Value *Result = Builder.CreateCall(F, {Ops[0], Builder.getInt1(false)});
22500
+ if (Result->getType() != ResultType)
22501
+ Result =
22502
+ Builder.CreateIntCast(Result, ResultType, /*isSigned*/ false, "cast");
22503
+ return Result;
22504
+ }
22505
+ case RISCV::BI__builtin_riscv_ctz_32:
22506
+ case RISCV::BI__builtin_riscv_ctz_64: {
22507
+ Function *F = CGM.getIntrinsic(Intrinsic::cttz, Ops[0]->getType());
22508
+ Value *Result = Builder.CreateCall(F, {Ops[0], Builder.getInt1(false)});
22509
+ if (Result->getType() != ResultType)
22510
+ Result =
22511
+ Builder.CreateIntCast(Result, ResultType, /*isSigned*/ false, "cast");
22512
+ return Result;
22513
+ }
22514
+
22518
22515
// Zihintntl
22519
22516
case RISCV::BI__builtin_riscv_ntl_load: {
22520
22517
llvm::Type *ResTy = ConvertType(E->getType());
0 commit comments