[llvm] [NFC][AArch64] Explicitly define undefined bits for instructions (PR #122129)
Jonathan Thackray via llvm-commits
llvm-commits at lists.llvm.org
Wed Jan 8 07:33:07 PST 2025
https://github.com/jthackray created https://github.com/llvm/llvm-project/pull/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.
>From ece7c983b6781a8f9f6ce99b9cdb90b3003eb706 Mon Sep 17 00:00:00 2001
From: Jonathan Thackray <jonathan.thackray at arm.com>
Date: Mon, 6 Jan 2025 16:37:17 +0000
Subject: [PATCH] [NFC][AArch64] Explicitly define undefined bits for
instructions
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.
---
llvm/lib/Target/AArch64/AArch64InstrFormats.td | 5 +++++
1 file changed, 5 insertions(+)
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