[llvm] d30a5fc - [NFC][AArch64] Explicitly define undefined bits for instructions (#122129)
via llvm-commits
llvm-commits at lists.llvm.org
Wed Jan 8 23:53:11 PST 2025
Author: Jonathan Thackray
Date: 2025-01-09T07:53:08Z
New Revision: d30a5fc5a2f88dee1198bd2285ddf1c55da51bb6
URL: https://github.com/llvm/llvm-project/commit/d30a5fc5a2f88dee1198bd2285ddf1c55da51bb6
DIFF: https://github.com/llvm/llvm-project/commit/d30a5fc5a2f88dee1198bd2285ddf1c55da51bb6.diff
LOG: [NFC][AArch64] Explicitly define undefined bits for instructions (#122129)
Explicitly define bits for the following instructions:
* Bit 21 for stltxr/ldatxr (defaults to zero) wasn't defined.
* Bits 16-20 for ldaxpx/ldxpx (unpredictable) weren't defined.
* Bits 10-14 for smulh/umulh (unpredictable) weren't defined.
Added:
Modified:
llvm/lib/Target/AArch64/AArch64InstrFormats.td
Removed:
################################################################################
diff --git a/llvm/lib/Target/AArch64/AArch64InstrFormats.td b/llvm/lib/Target/AArch64/AArch64InstrFormats.td
index b6fabdb7db59d2..f527f7e4eafbc1 100644
--- a/llvm/lib/Target/AArch64/AArch64InstrFormats.td
+++ b/llvm/lib/Target/AArch64/AArch64InstrFormats.td
@@ -2770,6 +2770,8 @@ class MulHi<bits<3> opc, string asm, SDNode OpNode>
let Inst{23-21} = opc;
let Inst{20-16} = Rm;
let Inst{15} = 0;
+ let Inst{14-10} = 0b11111;
+ let Unpredictable{14-10} = 0b11111;
let Inst{9-5} = Rn;
let Inst{4-0} = Rd;
@@ -4922,6 +4924,8 @@ class LoadExclusivePair<bits<2> sz, bit o2, bit L, bit o1, bit o0,
bits<5> Rt;
bits<5> Rt2;
bits<5> Rn;
+ let Inst{20-16} = 0b11111;
+ let Unpredictable{20-16} = 0b11111;
let Inst{14-10} = Rt2;
let Inst{9-5} = Rn;
let Inst{4-0} = Rt;
@@ -4937,6 +4941,7 @@ class BaseLoadStoreExclusiveLSUI<bits<2> sz, bit L, bit o0,
let Inst{31-30} = sz;
let Inst{29-23} = 0b0010010;
let Inst{22} = L;
+ let Inst{21} = 0b0;
let Inst{15} = o0;
}
More information about the llvm-commits
mailing list