binutils/SOURCES/binutils-AArch64-missing-assembler-tests-1.patch

131 lines
3.5 KiB
Diff

From 7e5de6cc9202b3e60a0bec954a59e3550923d710 Mon Sep 17 00:00:00 2001
From: Alice Carlotti <alice.carlotti@arm.com>
Date: Sun, 20 Apr 2025 23:07:31 +0100
Subject: [PATCH] aarch64: Add new test addsub-carry.d
All instructions were previously untested.
---
gas/testsuite/gas/aarch64/addsub-carry.d | 53 ++++++++++++++++++++++++
gas/testsuite/gas/aarch64/addsub-carry.s | 49 ++++++++++++++++++++++
2 files changed, 102 insertions(+)
create mode 100644 gas/testsuite/gas/aarch64/addsub-carry.d
create mode 100644 gas/testsuite/gas/aarch64/addsub-carry.s
diff --git a/gas/testsuite/gas/aarch64/addsub-carry.d b/gas/testsuite/gas/aarch64/addsub-carry.d
new file mode 100644
index 00000000000..9b32d51f77d
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/addsub-carry.d
@@ -0,0 +1,53 @@
+#as: -march=armv8-a
+#objdump: -dr
+
+.*: file format .*
+
+
+Disassembly of section \.text:
+
+0+ <\.text>:
+ *[0-9a-f]+: 1a000000 adc w0, w0, w0
+ *[0-9a-f]+: 1a00001f adc wzr, w0, w0
+ *[0-9a-f]+: 1a0003e0 adc w0, wzr, w0
+ *[0-9a-f]+: 1a1f0000 adc w0, w0, wzr
+ *[0-9a-f]+: 9a000000 adc x0, x0, x0
+ *[0-9a-f]+: 9a00001f adc xzr, x0, x0
+ *[0-9a-f]+: 9a0003e0 adc x0, xzr, x0
+ *[0-9a-f]+: 9a1f0000 adc x0, x0, xzr
+ *[0-9a-f]+: 3a000000 adcs w0, w0, w0
+ *[0-9a-f]+: 3a00001f adcs wzr, w0, w0
+ *[0-9a-f]+: 3a0003e0 adcs w0, wzr, w0
+ *[0-9a-f]+: 3a1f0000 adcs w0, w0, wzr
+ *[0-9a-f]+: ba000000 adcs x0, x0, x0
+ *[0-9a-f]+: ba00001f adcs xzr, x0, x0
+ *[0-9a-f]+: ba0003e0 adcs x0, xzr, x0
+ *[0-9a-f]+: ba1f0000 adcs x0, x0, xzr
+ *[0-9a-f]+: 5a000000 sbc w0, w0, w0
+ *[0-9a-f]+: 5a00001f sbc wzr, w0, w0
+ *[0-9a-f]+: 5a0003e0 ngc w0, w0
+ *[0-9a-f]+: 5a1f0000 sbc w0, w0, wzr
+ *[0-9a-f]+: da000000 sbc x0, x0, x0
+ *[0-9a-f]+: da00001f sbc xzr, x0, x0
+ *[0-9a-f]+: da0003e0 ngc x0, x0
+ *[0-9a-f]+: da1f0000 sbc x0, x0, xzr
+ *[0-9a-f]+: 7a000000 sbcs w0, w0, w0
+ *[0-9a-f]+: 7a00001f sbcs wzr, w0, w0
+ *[0-9a-f]+: 7a0003e0 ngcs w0, w0
+ *[0-9a-f]+: 7a1f0000 sbcs w0, w0, wzr
+ *[0-9a-f]+: fa000000 sbcs x0, x0, x0
+ *[0-9a-f]+: fa00001f sbcs xzr, x0, x0
+ *[0-9a-f]+: fa0003e0 ngcs x0, x0
+ *[0-9a-f]+: fa1f0000 sbcs x0, x0, xzr
+ *[0-9a-f]+: 5a0003e0 ngc w0, w0
+ *[0-9a-f]+: 5a0003ff ngc wzr, w0
+ *[0-9a-f]+: 5a1f03e0 ngc w0, wzr
+ *[0-9a-f]+: da0003e0 ngc x0, x0
+ *[0-9a-f]+: da0003ff ngc xzr, x0
+ *[0-9a-f]+: da1f03e0 ngc x0, xzr
+ *[0-9a-f]+: 7a0003e0 ngcs w0, w0
+ *[0-9a-f]+: 7a0003ff ngcs wzr, w0
+ *[0-9a-f]+: 7a1f03e0 ngcs w0, wzr
+ *[0-9a-f]+: fa0003e0 ngcs x0, x0
+ *[0-9a-f]+: fa0003ff ngcs xzr, x0
+ *[0-9a-f]+: fa1f03e0 ngcs x0, xzr
diff --git a/gas/testsuite/gas/aarch64/addsub-carry.s b/gas/testsuite/gas/aarch64/addsub-carry.s
new file mode 100644
index 00000000000..89f2ec15fc2
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/addsub-carry.s
@@ -0,0 +1,49 @@
+ adc w0, w0, w0
+ adc wzr, w0, w0
+ adc w0, wzr, w0
+ adc w0, w0, wzr
+ adc x0, x0, x0
+ adc xzr, x0, x0
+ adc x0, xzr, x0
+ adc x0, x0, xzr
+
+ adcs w0, w0, w0
+ adcs wzr, w0, w0
+ adcs w0, wzr, w0
+ adcs w0, w0, wzr
+ adcs x0, x0, x0
+ adcs xzr, x0, x0
+ adcs x0, xzr, x0
+ adcs x0, x0, xzr
+
+ sbc w0, w0, w0
+ sbc wzr, w0, w0
+ sbc w0, wzr, w0
+ sbc w0, w0, wzr
+ sbc x0, x0, x0
+ sbc xzr, x0, x0
+ sbc x0, xzr, x0
+ sbc x0, x0, xzr
+
+ sbcs w0, w0, w0
+ sbcs wzr, w0, w0
+ sbcs w0, wzr, w0
+ sbcs w0, w0, wzr
+ sbcs x0, x0, x0
+ sbcs xzr, x0, x0
+ sbcs x0, xzr, x0
+ sbcs x0, x0, xzr
+
+ ngc w0, w0
+ ngc wzr, w0
+ ngc w0, wzr
+ ngc x0, x0
+ ngc xzr, x0
+ ngc x0, xzr
+
+ ngcs w0, w0
+ ngcs wzr, w0
+ ngcs w0, wzr
+ ngcs x0, x0
+ ngcs xzr, x0
+ ngcs x0, xzr
--
2.50.1