aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/asm
diff options
context:
space:
mode:
authorCarlos Eduardo Seo <cseo@linux.vnet.ibm.com>2018-01-03 17:55:40 -0200
committerLynn Boger <laboger@linux.vnet.ibm.com>2018-02-15 17:53:41 +0000
commit9a9a8c0165619e5fc50bc2f82a0aaeb97a1094bf (patch)
tree35e5a0dfd775868cbad6d2a258acd624283f955c /src/cmd/asm
parentd50bb8dbb9d13858319db0914068126ed78e5144 (diff)
downloadgo-9a9a8c0165619e5fc50bc2f82a0aaeb97a1094bf.tar.xz
cmd/asm, cmd/internal/obj/ppc64: add Immediate Shifted opcodes for ppc64x
This change adds ADD/AND/OR/XOR Immediate Shifted instructions for ppc64x so they are usable in Go asm code. These instructions were originally present in asm9.go, but they were only usable in that file (as -AADD, -AANDCC, -AOR, -AXOR). These old mnemonics are now removed. Updates #23845 Change-Id: Ifa2fac685e8bc628cb241dd446adfc3068181826 Reviewed-on: https://go-review.googlesource.com/94115 Reviewed-by: Lynn Boger <laboger@linux.vnet.ibm.com>
Diffstat (limited to 'src/cmd/asm')
-rw-r--r--src/cmd/asm/internal/asm/testdata/ppc64.s18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/cmd/asm/internal/asm/testdata/ppc64.s b/src/cmd/asm/internal/asm/testdata/ppc64.s
index 2909c39094..dca574f90b 100644
--- a/src/cmd/asm/internal/asm/testdata/ppc64.s
+++ b/src/cmd/asm/internal/asm/testdata/ppc64.s
@@ -1123,6 +1123,24 @@ label1:
// addex RT, RA, RB, CY
ADDEX R1, R2, $0, R3
+// Immediate-shifted operations
+// ADDIS SI, RA, RT produces
+// addis RT, RA, SI
+ ADDIS $8, R3, R4
+ ADDIS $-1, R3, R4
+
+// ANDISCC UI, RS, RA produces
+// andis. RA, RS, UI
+ ANDISCC $7, R4, R5
+
+// ORIS UI, RS, RA produces
+// oris RA, RS, UI
+ ORIS $4, R2, R3
+
+// XORIS UI, RS, RA produces
+// xoris RA, RS, UI
+ XORIS $1, R1, R2
+
//
// NOP
//