[clang] [Clang] Add __builtin_bswapg (PR #162433)

via cfe-commits cfe-commits at lists.llvm.org
Tue Oct 28 22:16:18 PDT 2025


================
@@ -3622,6 +3622,15 @@ RValue CodeGenFunction::EmitBuiltinExpr(const GlobalDecl GD, unsigned BuiltinID,
           Builder.CreateArithmeticFence(ArgValue, ConvertType(ArgType)));
     return RValue::get(ArgValue);
   }
+  case Builtin::BI__builtin_bswapg: {
+    Value *ArgValue = EmitScalarExpr(E->getArg(0));
+    llvm::IntegerType *IntTy = cast<llvm::IntegerType>(ArgValue->getType());
+    assert(IntTy && "LLVM's __builtin_bswapg only supports integer variants");
----------------
clingfei wrote:

Hi,  @ojhunt, if we don't extend the llvm intrinsic, then I think mod 16 would be right.
Or do you think it is necessary to extend the llvm intrinsic?

https://github.com/llvm/llvm-project/pull/162433


More information about the cfe-commits mailing list