[clang] [CIR] Added case for builtins in CIRGen (PR #218852)
Andy Kaylor via cfe-commits
cfe-commits at lists.llvm.org
Wed Aug 26 09:52:47 PDT 2026
================
@@ -1640,12 +1638,36 @@ RValue CIRGenFunction::emitBuiltinExpr(const GlobalDecl &gd, unsigned builtinID,
case Builtin::BI__builtin_rotateleft32:
case Builtin::BI__builtin_rotateleft64:
return emitRotate(e, /*isRotateLeft=*/true);
+ case Builtin::BI__builtin_stdc_rotate_left:
+ case Builtin::BIstdc_rotate_left_uc:
+ case Builtin::BIstdc_rotate_left_us:
+ case Builtin::BIstdc_rotate_left_ui:
+ case Builtin::BIstdc_rotate_left_ul:
+ case Builtin::BIstdc_rotate_left_ull:
+ return emitRotate(e, /*isRotateLeft=*/true);
case Builtin::BI__builtin_rotateright8:
case Builtin::BI__builtin_rotateright16:
case Builtin::BI__builtin_rotateright32:
case Builtin::BI__builtin_rotateright64:
return emitRotate(e, /*isRotateLeft=*/false);
+ case Builtin::BI__builtin_stdc_rotate_right:
+ case Builtin::BIstdc_rotate_right_uc:
+ case Builtin::BIstdc_rotate_right_us:
+ case Builtin::BIstdc_rotate_right_ui:
+ case Builtin::BIstdc_rotate_right_ul:
+ case Builtin::BIstdc_rotate_right_ull:
+ return emitRotate(e, /*isRotateLeft=*/false);
+ case Builtin::BIstdc_memreverse8u8:
----------------
andykaylor wrote:
Classic codegen has a useful comment here that we should copy: "// stdc_memreverse8u8 is a no-op (single byte, nothing to swap)."
https://github.com/llvm/llvm-project/pull/218852
More information about the cfe-commits
mailing list