[PATCH] D98264: [AArch64] Implement __rndr, __rndrrs intrinsics

2021-03-15 Thread Stelios Ioannou via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rGab86edbc88fa: [AArch64] Implement __rndr, __rndrrs intrinsics (authored by stelios-arm). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST A

[PATCH] D98264: [AArch64] Implement __rndr, __rndrrs intrinsics

2021-03-15 Thread Stelios Ioannou via Phabricator via cfe-commits
stelios-arm updated this revision to Diff 330694. stelios-arm added a comment. Typo fix for `__ARM_FEATURE_RNG` macro check in `aarch64-target-features.c`. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D98264/new/ https://reviews.llvm.org/D98264 Files: clang/include/clang/Basic/Builti

[PATCH] D98264: [AArch64] Implement __rndr, __rndrrs intrinsics

2021-03-15 Thread Stelios Ioannou via Phabricator via cfe-commits
stelios-arm updated this revision to Diff 330670. stelios-arm added a comment. Change the `rand.ll` llc arguments to the ones that are only relevant. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D98264/new/ https://reviews.llvm.org/D98264 Files: clang/include/clang/Basic/BuiltinsAAr

[PATCH] D98264: [AArch64] Implement __rndr, __rndrrs intrinsics

2021-03-15 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer accepted this revision. SjoerdMeijer added a comment. This revision is now accepted and ready to land. Thanks, nice one, LGTM. Comment at: llvm/test/CodeGen/AArch64/rand.ll:2 +; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py +; RUN: llc

[PATCH] D98264: [AArch64] Implement __rndr, __rndrrs intrinsics

2021-03-15 Thread Stelios Ioannou via Phabricator via cfe-commits
stelios-arm updated this revision to Diff 330616. stelios-arm added a comment. Added tests in `arm_acle.c`. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D98264/new/ https://reviews.llvm.org/D98264 Files: clang/include/clang/Basic/BuiltinsAArch64.def clang/lib/Basic/Targets/AArch64.

[PATCH] D98264: [AArch64] Implement __rndr, __rndrrs intrinsics

2021-03-15 Thread Stelios Ioannou via Phabricator via cfe-commits
stelios-arm added inline comments. Comment at: clang/test/CodeGen/arm_acle.c:908 +#if __ARM_64BIT_STATE && defined(__ARM_FEATURE_RNG) +// AArch64-v8_3-LABEL: @test_rndr( +// AArch64-v8_3-NEXT: entry: SjoerdMeijer wrote: > stelios-arm wrote: > > SjoerdMeijer wrot

[PATCH] D98264: [AArch64] Implement __rndr, __rndrrs intrinsics

2021-03-15 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer added inline comments. Comment at: clang/test/CodeGen/arm_acle.c:908 +#if __ARM_64BIT_STATE && defined(__ARM_FEATURE_RNG) +// AArch64-v8_3-LABEL: @test_rndr( +// AArch64-v8_3-NEXT: entry: stelios-arm wrote: > SjoerdMeijer wrote: > > Not sure if I am

[PATCH] D98264: [AArch64] Implement __rndr, __rndrrs intrinsics

2021-03-12 Thread Stelios Ioannou via Phabricator via cfe-commits
stelios-arm added inline comments. Comment at: clang/test/CodeGen/arm_acle.c:908 +#if __ARM_64BIT_STATE && defined(__ARM_FEATURE_RNG) +// AArch64-v8_3-LABEL: @test_rndr( +// AArch64-v8_3-NEXT: entry: SjoerdMeijer wrote: > Not sure if I am surprised that this wor

[PATCH] D98264: [AArch64] Implement __rndr, __rndrrs intrinsics

2021-03-12 Thread Stelios Ioannou via Phabricator via cfe-commits
stelios-arm updated this revision to Diff 330230. stelios-arm marked an inline comment as done. stelios-arm added a comment. 1. Removed a redundant comment 2. Removed the changes made in the `test/CodeGen/arm_acle.c`, since the test is disabled. 3. Added a clang preprocessor test to check the pre

[PATCH] D98264: [AArch64] Implement __rndr, __rndrrs intrinsics

2021-03-12 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer added inline comments. Comment at: clang/lib/Basic/Targets/AArch64.cpp:364 + if (HasRandGen) +Builder.defineMacro("__ARM_FEATURE_RNG", "1"); + This needs a clang preprocessor test: both a check for its presence and absence. Have a look/grep wher

[PATCH] D98264: [AArch64] Implement __rndr, __rndrrs intrinsics

2021-03-11 Thread Stelios Ioannou via Phabricator via cfe-commits
stelios-arm updated this revision to Diff 329941. stelios-arm added a comment. Rephrased a comment. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D98264/new/ https://reviews.llvm.org/D98264 Files: clang/include/clang/Basic/BuiltinsAArch64.def clang/lib/Basic/Targets/AArch64.cpp cl

[PATCH] D98264: [AArch64] Implement __rndr, __rndrrs intrinsics

2021-03-11 Thread Stelios Ioannou via Phabricator via cfe-commits
stelios-arm updated this revision to Diff 329931. stelios-arm marked an inline comment as done. stelios-arm added a comment. 1. Addressed the comment made by @SjoerdMeijer and added the comment for the MRS instruction. 2. Added the `+rang` feature in `arm_acle.c ` CHANGES SINCE LAST ACTION

[PATCH] D98264: [AArch64] Implement __rndr, __rndrrs intrinsics

2021-03-11 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer added inline comments. Comment at: llvm/lib/Target/AArch64/AArch64InstrFormats.td:1495 let DecoderNamespace = "Fallback"; + let Defs = [NZCV]; } dmgreen wrote: > stelios-arm wrote: > > SjoerdMeijer wrote: > > > SjoerdMeijer wrote: > > > > dmgree

[PATCH] D98264: [AArch64] Implement __rndr, __rndrrs intrinsics

2021-03-11 Thread Dave Green via Phabricator via cfe-commits
dmgreen added inline comments. Comment at: llvm/lib/Target/AArch64/AArch64InstrFormats.td:1495 let DecoderNamespace = "Fallback"; + let Defs = [NZCV]; } stelios-arm wrote: > SjoerdMeijer wrote: > > SjoerdMeijer wrote: > > > dmgreen wrote: > > > > SjoerdMeije

[PATCH] D98264: [AArch64] Implement __rndr, __rndrrs intrinsics

2021-03-10 Thread Stelios Ioannou via Phabricator via cfe-commits
stelios-arm updated this revision to Diff 329799. stelios-arm marked 2 inline comments as done. stelios-arm added a comment. Addressed the comments made by @SjoerdMeijer and @dmgreen. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D98264/new/ https://reviews.llvm.org/D98264 Files: clan

[PATCH] D98264: [AArch64] Implement __rndr, __rndrrs intrinsics

2021-03-10 Thread Stelios Ioannou via Phabricator via cfe-commits
stelios-arm marked 4 inline comments as done. stelios-arm added inline comments. Comment at: clang/lib/Basic/Targets/AArch64.cpp:363 + if (HasRandGen) +Builder.defineMacro("__ARM_FEATURE_RNG", "1"); SjoerdMeijer wrote: > Where/when is `HasRandGen` set? Oh,

[PATCH] D98264: [AArch64] Implement __rndr, __rndrrs intrinsics

2021-03-10 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer added inline comments. Comment at: llvm/lib/Target/AArch64/AArch64InstrFormats.td:1495 let DecoderNamespace = "Fallback"; + let Defs = [NZCV]; } SjoerdMeijer wrote: > dmgreen wrote: > > SjoerdMeijer wrote: > > > dmgreen wrote: > > > > SjoerdMeij

[PATCH] D98264: [AArch64] Implement __rndr, __rndrrs intrinsics

2021-03-10 Thread Stelios Ioannou via Phabricator via cfe-commits
stelios-arm added a comment. @SjoerdMeijer @dmgreen Thanks for your reviews, I will be looking into this. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D98264/new/ https://reviews.llvm.org/D98264 ___ cfe-

[PATCH] D98264: [AArch64] Implement __rndr, __rndrrs intrinsics

2021-03-09 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer added inline comments. Comment at: llvm/lib/Target/AArch64/AArch64InstrFormats.td:1495 let DecoderNamespace = "Fallback"; + let Defs = [NZCV]; } dmgreen wrote: > SjoerdMeijer wrote: > > dmgreen wrote: > > > SjoerdMeijer wrote: > > > > Do all MRS

[PATCH] D98264: [AArch64] Implement __rndr, __rndrrs intrinsics

2021-03-09 Thread Dave Green via Phabricator via cfe-commits
dmgreen added inline comments. Comment at: llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:15993 + DAG.getConstant(0, dl, MVT::i32), + DAG.getConstant(AArch64CC::EQ, dl, MVT::i32), A.getValue(1)); + return DAG.getMergeValues( Can you make s

[PATCH] D98264: [AArch64] Implement __rndr, __rndrrs intrinsics

2021-03-09 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer added inline comments. Comment at: llvm/lib/Target/AArch64/AArch64InstrFormats.td:1495 let DecoderNamespace = "Fallback"; + let Defs = [NZCV]; } dmgreen wrote: > SjoerdMeijer wrote: > > Do all MRS instructions do this? > No, but some do and it's

[PATCH] D98264: [AArch64] Implement __rndr, __rndrrs intrinsics

2021-03-09 Thread Dave Green via Phabricator via cfe-commits
dmgreen added inline comments. Comment at: llvm/lib/Target/AArch64/AArch64InstrFormats.td:1495 let DecoderNamespace = "Fallback"; + let Defs = [NZCV]; } SjoerdMeijer wrote: > Do all MRS instructions do this? No, but some do and it's not obvious which ones do

[PATCH] D98264: [AArch64] Implement __rndr, __rndrrs intrinsics

2021-03-09 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer added inline comments. Comment at: clang/lib/Basic/Targets/AArch64.cpp:363 + if (HasRandGen) +Builder.defineMacro("__ARM_FEATURE_RNG", "1"); Where/when is `HasRandGen` set? Comment at: clang/test/Preprocessor/init-aarch64.c:

[PATCH] D98264: [AArch64] Implement __rndr, __rndrrs intrinsics

2021-03-09 Thread Stelios Ioannou via Phabricator via cfe-commits
stelios-arm created this revision. stelios-arm added reviewers: dmgreen, SjoerdMeijer, fhahn, simon_tatham, ostannard, c-rhodes. stelios-arm added a project: LLVM. Herald added subscribers: danielkiss, hiraditya, kristof.beyls. stelios-arm requested review of this revision. Herald added a project: