[llvm-branch-commits] [llvm] [AArch64][llvm] Fix encoding for `stshh` instruction (#189588) (PR #189679)

Jonathan Thackray via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Tue Mar 31 07:23:22 PDT 2026


https://github.com/jthackray created https://github.com/llvm/llvm-project/pull/189679

The encoding for `stshh` was incorrect, and has been fixed. This has been checked against the Arm ARM.

>From 9d7b075028a6c98b0ddb77c28fe6a8c3208e6df9 Mon Sep 17 00:00:00 2001
From: Jonathan Thackray <jonathan.thackray at arm.com>
Date: Tue, 31 Mar 2026 14:56:16 +0100
Subject: [PATCH] [AArch64][llvm] Fix encoding for `stshh` instruction
 (#189588)

The encoding for `stshh` was incorrect, and has been fixed. This
has been checked against the Arm ARM.
---
 llvm/lib/Target/AArch64/AArch64InstrFormats.td | 2 +-
 llvm/test/MC/AArch64/armv9.6a-pcdphint.s       | 8 ++++----
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/llvm/lib/Target/AArch64/AArch64InstrFormats.td b/llvm/lib/Target/AArch64/AArch64InstrFormats.td
index 75adaf6602caa..ae6f84d9f4420 100644
--- a/llvm/lib/Target/AArch64/AArch64InstrFormats.td
+++ b/llvm/lib/Target/AArch64/AArch64InstrFormats.td
@@ -1850,7 +1850,7 @@ class STSHHI
     : SimpleSystemI<0, (ins phint_op:$policy), "stshh", "\t$policy", []>,
       Sched<[WriteHint]> {
   bits<3> policy;
-  let Inst{20-12} = 0b000011001;
+  let Inst{20-12} = 0b000110010;
   let Inst{11-8} = 0b0110;
   let Inst{7-5} = policy;
 }
diff --git a/llvm/test/MC/AArch64/armv9.6a-pcdphint.s b/llvm/test/MC/AArch64/armv9.6a-pcdphint.s
index 8394171740501..163785f7ec239 100644
--- a/llvm/test/MC/AArch64/armv9.6a-pcdphint.s
+++ b/llvm/test/MC/AArch64/armv9.6a-pcdphint.s
@@ -14,12 +14,12 @@
 
 stshh keep
 // CHECK-INST: stshh keep
-// CHECK-ENCODING: encoding: [0x1f,0x96,0x01,0xd5]
+// CHECK-ENCODING: encoding: [0x1f,0x26,0x03,0xd5]
 // CHECK-ERROR: error: instruction requires: pcdphint
-// CHECK-UNKNOWN:  d501961f      msr S0_1_C9_C6_0, xzr
+// CHECK-UNKNOWN:  d503261f      hint #0x30
 
 stshh strm
 // CHECK-INST: stshh strm
-// CHECK-ENCODING: encoding: [0x3f,0x96,0x01,0xd5]
+// CHECK-ENCODING: encoding: [0x3f,0x26,0x03,0xd5]
 // CHECK-ERROR: error: instruction requires: pcdphint
-// CHECK-UNKNOWN:  d501963f      msr S0_1_C9_C6_1, xzr
+// CHECK-UNKNOWN:  d503263f      hint #0x31



More information about the llvm-branch-commits mailing list