aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSegher Boessenkool <segher@kernel.crashing.org>2012-08-16 03:34:27 +0200
committerSegher Boessenkool <segher@gcc.gnu.org>2012-08-16 03:34:27 +0200
commit6b39bc38c85606f9fecf24dd63a0cea62530cf49 (patch)
tree66e8b7be0164082ae1b5869aa9daa7b20105fa1b
parenta441dedbc4b244b3223691a18aec8316bab940f9 (diff)
downloadgcc-6b39bc38c85606f9fecf24dd63a0cea62530cf49.zip
gcc-6b39bc38c85606f9fecf24dd63a0cea62530cf49.tar.gz
gcc-6b39bc38c85606f9fecf24dd63a0cea62530cf49.tar.bz2
aix43.h (TARGET_DEFAULT): Delete MASK_NEW_MNEMONICS.
2012-08-15 Segher Boessenkool <segher@kernel.crashing.org> gcc/ * config/rs6000/aix43.h (TARGET_DEFAULT): Delete MASK_NEW_MNEMONICS. (RS6000_CALL_GLUE): Adjust for single assembler syntax. * config/rs6000/aix51.h (TARGET_DEFAULT, RS6000_CALL_GLUE): Ditto. * config/rs6000/aix52.h (TARGET_DEFAULT, RS6000_CALL_GLUE): Ditto. * config/rs6000/aix53.h (TARGET_DEFAULT, RS6000_CALL_GLUE): Ditto. * config/rs6000/aix61.h (TARGET_DEFAULT, RS6000_CALL_GLUE): Ditto. * config/rs6000/darwin.h (TARGET_DEFAULT): Ditto. * config/rs6000/darwin.md (whole file): Adjust to single assembler syntax. * config/rs6000/darwin64.h (TARGET_DEFAULT): Delete MASK_NEW_MNEMONICS. * config/rs6000/default64.h (TARGET_DEFAULT): Ditto. * config/rs6000/dfp.md: (whole file): Adjust to single assembler syntax. * config/rs6000/eabi.h (TARGET_DEFAULT): Delete MASK_NEW_MNEMONICS. * config/rs6000/eabialtivec.h (TARGET_DEFAULT): Ditto. * config/rs6000/eabispe.h (TARGET_DEFAULT): Ditto. * config/rs6000/linuxaltivec.h (TARGET_DEFAULT): Ditto. * config/rs6000/linuxspe.h (TARGET_DEFAULT): Ditto. * config/rs6000/rs6000-cpus.def (whole file): Delete POWERPC_BASE_MASK. * config/rs6000/rs6000-tables.opt: Regenerate. * config/rs6000/rs6000.c (POWERPC_BASE_MASK): Delete. (num_insns_constant_wide): Adjust comments. (whole file): Adjust to single assembler syntax. (output_cbranch): Adjust comment. * config/rs6000/rs6000.h (ASSEMBLER_DIALECT): Delete. * config/rs6000/rs6000.md: (whole file): Adjust to single assembler syntax. * config/rs6000/rs6000.opt (mnew-mnemonics): Delete. (mold-mnemonics): Delete. * config/rs6000/spe.md: (whole file): Adjust to single assembler syntax. * config/rs6000/sync.md: (whole file): Adjust to single assembler syntax. * config/rs6000/sysv4.h (TARGET_DEFAULT): Delete MASK_NEW_MNEMONICS. (ASM_OUTPUT_REG_PUSH): Adjust. (ASM_OUTPUT_REG_POP): Adjust. * config/rs6000/sysv4le.h (TARGET_DEFAULT): Delete MASK_NEW_MNEMONICS. * config/rs6000/vsx.md: (whole file): Adjust to single assembler syntax. * config/rs6000/vxworks.h (TARGET_DEFAULT): Delete MASK_NEW_MNEMONICS. * doc/invoke.texi: Adjust documentation to reflect the removal of -mnew-mnemonics and -mold-mnemonics. libgcc/ * longlong.h: (whole file, powerpc): Adjust to single assembler syntax. From-SVN: r190432
-rw-r--r--gcc/ChangeLog55
-rw-r--r--gcc/config/rs6000/aix43.h4
-rw-r--r--gcc/config/rs6000/aix51.h4
-rw-r--r--gcc/config/rs6000/aix52.h4
-rw-r--r--gcc/config/rs6000/aix53.h4
-rw-r--r--gcc/config/rs6000/aix61.h4
-rw-r--r--gcc/config/rs6000/darwin.h2
-rw-r--r--gcc/config/rs6000/darwin.md36
-rw-r--r--gcc/config/rs6000/darwin64.h2
-rw-r--r--gcc/config/rs6000/default64.h3
-rw-r--r--gcc/config/rs6000/dfp.md24
-rw-r--r--gcc/config/rs6000/eabi.h2
-rw-r--r--gcc/config/rs6000/eabialtivec.h2
-rw-r--r--gcc/config/rs6000/eabispe.h2
-rw-r--r--gcc/config/rs6000/linuxaltivec.h2
-rw-r--r--gcc/config/rs6000/linuxspe.h2
-rw-r--r--gcc/config/rs6000/rs6000-cpus.def121
-rw-r--r--gcc/config/rs6000/rs6000-tables.opt33
-rw-r--r--gcc/config/rs6000/rs6000.c62
-rw-r--r--gcc/config/rs6000/rs6000.h4
-rw-r--r--gcc/config/rs6000/rs6000.md606
-rw-r--r--gcc/config/rs6000/rs6000.opt8
-rw-r--r--gcc/config/rs6000/spe.md26
-rw-r--r--gcc/config/rs6000/sync.md4
-rw-r--r--gcc/config/rs6000/sysv4.h6
-rw-r--r--gcc/config/rs6000/sysv4le.h2
-rw-r--r--gcc/config/rs6000/vsx.md8
-rw-r--r--gcc/config/rs6000/vxworks.h2
-rw-r--r--gcc/doc/invoke.texi28
-rw-r--r--libgcc/ChangeLog4
-rw-r--r--libgcc/longlong.h34
31 files changed, 550 insertions, 550 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 496ef95..d2219af 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,60 @@
2012-08-15 Segher Boessenkool <segher@kernel.crashing.org>
+ * config/rs6000/aix43.h (TARGET_DEFAULT): Delete MASK_NEW_MNEMONICS.
+ (RS6000_CALL_GLUE): Adjust for single assembler syntax.
+ * config/rs6000/aix51.h (TARGET_DEFAULT, RS6000_CALL_GLUE):
+ Ditto.
+ * config/rs6000/aix52.h (TARGET_DEFAULT, RS6000_CALL_GLUE):
+ Ditto.
+ * config/rs6000/aix53.h (TARGET_DEFAULT, RS6000_CALL_GLUE):
+ Ditto.
+ * config/rs6000/aix61.h (TARGET_DEFAULT, RS6000_CALL_GLUE):
+ Ditto.
+ * config/rs6000/darwin.h (TARGET_DEFAULT): Ditto.
+ * config/rs6000/darwin.md (whole file): Adjust to single
+ assembler syntax.
+ * config/rs6000/darwin64.h (TARGET_DEFAULT): Delete
+ MASK_NEW_MNEMONICS.
+ * config/rs6000/default64.h (TARGET_DEFAULT): Ditto.
+ * config/rs6000/dfp.md: (whole file): Adjust to single
+ assembler syntax.
+ * config/rs6000/eabi.h (TARGET_DEFAULT): Delete
+ MASK_NEW_MNEMONICS.
+ * config/rs6000/eabialtivec.h (TARGET_DEFAULT): Ditto.
+ * config/rs6000/eabispe.h (TARGET_DEFAULT): Ditto.
+ * config/rs6000/linuxaltivec.h (TARGET_DEFAULT): Ditto.
+ * config/rs6000/linuxspe.h (TARGET_DEFAULT): Ditto.
+ * config/rs6000/rs6000-cpus.def (whole file): Delete
+ POWERPC_BASE_MASK.
+ * config/rs6000/rs6000-tables.opt: Regenerate.
+ * config/rs6000/rs6000.c (POWERPC_BASE_MASK): Delete.
+ (num_insns_constant_wide): Adjust comments.
+ (whole file): Adjust to single assembler syntax.
+ (output_cbranch): Adjust comment.
+ * config/rs6000/rs6000.h (ASSEMBLER_DIALECT): Delete.
+ * config/rs6000/rs6000.md: (whole file): Adjust to single
+ assembler syntax.
+ * config/rs6000/rs6000.opt (mnew-mnemonics): Delete.
+ (mold-mnemonics): Delete.
+ * config/rs6000/spe.md: (whole file): Adjust to single
+ assembler syntax.
+ * config/rs6000/sync.md: (whole file): Adjust to single
+ assembler syntax.
+ * config/rs6000/sysv4.h (TARGET_DEFAULT): Delete
+ MASK_NEW_MNEMONICS.
+ (ASM_OUTPUT_REG_PUSH): Adjust.
+ (ASM_OUTPUT_REG_POP): Adjust.
+ * config/rs6000/sysv4le.h (TARGET_DEFAULT): Delete
+ MASK_NEW_MNEMONICS.
+ * config/rs6000/vsx.md: (whole file): Adjust to single
+ assembler syntax.
+ * config/rs6000/vxworks.h (TARGET_DEFAULT): Delete
+ MASK_NEW_MNEMONICS.
+ * doc/invoke.texi: Adjust documentation to reflect the
+ removal of -mnew-mnemonics and -mold-mnemonics.
+
+2012-08-15 Segher Boessenkool <segher@kernel.crashing.org>
+
* common/config/rs6000/rs6000-common.c (rs6000_handle_option):
Delete handling for -mno-powerpc and -mpowerpc.
* config/rs6000/aix43.h (ASM_CPU_SPEC): Similar.
diff --git a/gcc/config/rs6000/aix43.h b/gcc/config/rs6000/aix43.h
index e4863ef..8465c20 100644
--- a/gcc/config/rs6000/aix43.h
+++ b/gcc/config/rs6000/aix43.h
@@ -93,7 +93,7 @@ do { \
%{pthread: -D_THREAD_SAFE}"
#undef TARGET_DEFAULT
-#define TARGET_DEFAULT MASK_NEW_MNEMONICS
+#define TARGET_DEFAULT 0
#undef PROCESSOR_DEFAULT
#define PROCESSOR_DEFAULT PROCESSOR_PPC604e
@@ -146,7 +146,7 @@ do { \
and "cror 31,31,31" for POWER architecture. */
#undef RS6000_CALL_GLUE
-#define RS6000_CALL_GLUE "{cror 31,31,31|nop}"
+#define RS6000_CALL_GLUE "nop"
/* AIX 4.2 and above provides initialization and finalization function
support from linker command line. */
diff --git a/gcc/config/rs6000/aix51.h b/gcc/config/rs6000/aix51.h
index effd278..a140e129 100644
--- a/gcc/config/rs6000/aix51.h
+++ b/gcc/config/rs6000/aix51.h
@@ -90,7 +90,7 @@ do { \
%{pthread: -D_THREAD_SAFE}"
#undef TARGET_DEFAULT
-#define TARGET_DEFAULT MASK_NEW_MNEMONICS
+#define TARGET_DEFAULT 0
#undef PROCESSOR_DEFAULT
#define PROCESSOR_DEFAULT PROCESSOR_PPC604e
@@ -150,7 +150,7 @@ do { \
and "cror 31,31,31" for POWER architecture. */
#undef RS6000_CALL_GLUE
-#define RS6000_CALL_GLUE "{cror 31,31,31|nop}"
+#define RS6000_CALL_GLUE "nop"
/* AIX 4.2 and above provides initialization and finalization function
support from linker command line. */
diff --git a/gcc/config/rs6000/aix52.h b/gcc/config/rs6000/aix52.h
index a5f1ca7..1c9e77f 100644
--- a/gcc/config/rs6000/aix52.h
+++ b/gcc/config/rs6000/aix52.h
@@ -99,7 +99,7 @@ do { \
%{pthread: -D_THREAD_SAFE}"
#undef TARGET_DEFAULT
-#define TARGET_DEFAULT MASK_NEW_MNEMONICS
+#define TARGET_DEFAULT 0
#undef PROCESSOR_DEFAULT
#define PROCESSOR_DEFAULT PROCESSOR_POWER4
@@ -162,7 +162,7 @@ do { \
and "cror 31,31,31" for POWER architecture. */
#undef RS6000_CALL_GLUE
-#define RS6000_CALL_GLUE "{cror 31,31,31|nop}"
+#define RS6000_CALL_GLUE "nop"
/* AIX 4.2 and above provides initialization and finalization function
support from linker command line. */
diff --git a/gcc/config/rs6000/aix53.h b/gcc/config/rs6000/aix53.h
index 5c72d57..d1a99e9 100644
--- a/gcc/config/rs6000/aix53.h
+++ b/gcc/config/rs6000/aix53.h
@@ -105,7 +105,7 @@ do { \
%{pthread: -D_THREAD_SAFE}"
#undef TARGET_DEFAULT
-#define TARGET_DEFAULT MASK_NEW_MNEMONICS
+#define TARGET_DEFAULT 0
#undef PROCESSOR_DEFAULT
#define PROCESSOR_DEFAULT PROCESSOR_POWER5
@@ -160,7 +160,7 @@ do { \
and "cror 31,31,31" for POWER architecture. */
#undef RS6000_CALL_GLUE
-#define RS6000_CALL_GLUE "{cror 31,31,31|nop}"
+#define RS6000_CALL_GLUE "nop"
/* AIX 4.2 and above provides initialization and finalization function
support from linker command line. */
diff --git a/gcc/config/rs6000/aix61.h b/gcc/config/rs6000/aix61.h
index c9a89fb..663777c 100644
--- a/gcc/config/rs6000/aix61.h
+++ b/gcc/config/rs6000/aix61.h
@@ -106,7 +106,7 @@ do { \
%{pthread: -D_THREAD_SAFE}"
#undef TARGET_DEFAULT
-#define TARGET_DEFAULT MASK_NEW_MNEMONICS
+#define TARGET_DEFAULT 0
#undef PROCESSOR_DEFAULT
#define PROCESSOR_DEFAULT PROCESSOR_POWER7
@@ -161,7 +161,7 @@ do { \
and "cror 31,31,31" for POWER architecture. */
#undef RS6000_CALL_GLUE
-#define RS6000_CALL_GLUE "{cror 31,31,31|nop}"
+#define RS6000_CALL_GLUE "nop"
/* AIX 4.2 and above provides initialization and finalization function
support from linker command line. */
diff --git a/gcc/config/rs6000/darwin.h b/gcc/config/rs6000/darwin.h
index 13d53f5..17ff675 100644
--- a/gcc/config/rs6000/darwin.h
+++ b/gcc/config/rs6000/darwin.h
@@ -280,7 +280,7 @@ extern int darwin_emit_branch_islands;
default as well. */
#undef TARGET_DEFAULT
-#define TARGET_DEFAULT (MASK_MULTIPLE | MASK_NEW_MNEMONICS | MASK_PPC_GFXOPT)
+#define TARGET_DEFAULT (MASK_MULTIPLE | MASK_PPC_GFXOPT)
/* Darwin only runs on PowerPC, so short-circuit POWER patterns. */
#undef TARGET_IEEEQUAD
diff --git a/gcc/config/rs6000/darwin.md b/gcc/config/rs6000/darwin.md
index e811822..5ecde228 100644
--- a/gcc/config/rs6000/darwin.md
+++ b/gcc/config/rs6000/darwin.md
@@ -1,5 +1,5 @@
/* Machine description patterns for PowerPC running Darwin (Mac OS X).
- Copyright (C) 2004, 2005, 2007, 2010, 2011 Free Software Foundation, Inc.
+ Copyright (C) 2004-2012 Free Software Foundation, Inc.
Contributed by Apple Computer Inc.
This file is part of GCC.
@@ -23,7 +23,7 @@ You should have received a copy of the GNU General Public License
(plus:DI (match_operand:DI 1 "gpc_reg_operand" "b")
(high:DI (match_operand 2 "" ""))))]
"TARGET_MACHO && TARGET_64BIT"
- "{cau|addis} %0,%1,ha16(%2)"
+ "addis %0,%1,ha16(%2)"
[(set_attr "length" "4")])
(define_insn "movdf_low_si"
@@ -44,9 +44,9 @@ You should have received a copy of the GNU General Public License
return \"ld %0,lo16(%2)(%1)\";
else
{
- output_asm_insn (\"{cal|la} %0,lo16(%2)(%1)\", operands);
- output_asm_insn (\"{l|lwz} %L0,4(%0)\", operands);
- return (\"{l|lwz} %0,0(%0)\");
+ output_asm_insn (\"la %0,lo16(%2)(%1)\", operands);
+ output_asm_insn (\"lwz %L0,4(%0)\", operands);
+ return (\"lwz %0,0(%0)\");
}
}
default:
@@ -102,7 +102,7 @@ You should have received a copy of the GNU General Public License
"TARGET_MACHO && TARGET_HARD_FLOAT && TARGET_FPRS && ! TARGET_64BIT"
"@
lfs %0,lo16(%2)(%1)
- {l|lwz} %0,lo16(%2)(%1)"
+ lwz %0,lo16(%2)(%1)"
[(set_attr "type" "load")
(set_attr "length" "4")])
@@ -113,7 +113,7 @@ You should have received a copy of the GNU General Public License
"TARGET_MACHO && TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_64BIT"
"@
lfs %0,lo16(%2)(%1)
- {l|lwz} %0,lo16(%2)(%1)"
+ lwz %0,lo16(%2)(%1)"
[(set_attr "type" "load")
(set_attr "length" "4")])
@@ -124,7 +124,7 @@ You should have received a copy of the GNU General Public License
"TARGET_MACHO && TARGET_HARD_FLOAT && TARGET_FPRS && ! TARGET_64BIT"
"@
stfs %0,lo16(%2)(%1)
- {st|stw} %0,lo16(%2)(%1)"
+ stw %0,lo16(%2)(%1)"
[(set_attr "type" "store")
(set_attr "length" "4")])
@@ -135,7 +135,7 @@ You should have received a copy of the GNU General Public License
"TARGET_MACHO && TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_64BIT"
"@
stfs %0,lo16(%2)(%1)
- {st|stw} %0,lo16(%2)(%1)"
+ stw %0,lo16(%2)(%1)"
[(set_attr "type" "store")
(set_attr "length" "4")])
@@ -146,7 +146,7 @@ You should have received a copy of the GNU General Public License
(match_operand 2 "" ""))))]
"TARGET_MACHO && TARGET_64BIT"
"@
- {l|ld} %0,lo16(%2)(%1)
+ ld %0,lo16(%2)(%1)
lfd %0,lo16(%2)(%1)"
[(set_attr "type" "load")
(set_attr "length" "4")])
@@ -156,7 +156,7 @@ You should have received a copy of the GNU General Public License
(match_operand 2 "" "")))
(match_operand:SI 0 "gpc_reg_operand" "r"))]
"TARGET_MACHO && ! TARGET_64BIT"
- "{st|stw} %0,lo16(%2)(%1)"
+ "stw %0,lo16(%2)(%1)"
[(set_attr "type" "store")
(set_attr "length" "4")])
@@ -166,7 +166,7 @@ You should have received a copy of the GNU General Public License
(match_operand:DI 0 "gpc_reg_operand" "r,*!d"))]
"TARGET_MACHO && TARGET_64BIT"
"@
- {st|std} %0,lo16(%2)(%1)
+ std %0,lo16(%2)(%1)
stfd %0,lo16(%2)(%1)"
[(set_attr "type" "store")
(set_attr "length" "4")])
@@ -189,14 +189,14 @@ You should have received a copy of the GNU General Public License
[(set (match_operand:SI 0 "gpc_reg_operand" "=b*r")
(high:SI (match_operand 1 "" "")))]
"TARGET_MACHO && ! TARGET_64BIT"
- "{liu|lis} %0,ha16(%1)")
+ "lis %0,ha16(%1)")
(define_insn "macho_high_di"
[(set (match_operand:DI 0 "gpc_reg_operand" "=b*r")
(high:DI (match_operand 1 "" "")))]
"TARGET_MACHO && TARGET_64BIT"
- "{liu|lis} %0,ha16(%1)")
+ "lis %0,ha16(%1)")
(define_expand "macho_low"
[(set (match_operand 0 "" "")
@@ -218,8 +218,8 @@ You should have received a copy of the GNU General Public License
(match_operand 2 "" "")))]
"TARGET_MACHO && ! TARGET_64BIT"
"@
- {cal %0,%a2@l(%1)|la %0,lo16(%2)(%1)}
- {cal %0,%a2@l(%1)|addic %0,%1,lo16(%2)}")
+ la %0,lo16(%2)(%1)
+ addic %0,%1,lo16(%2)")
(define_insn "macho_low_di"
[(set (match_operand:DI 0 "gpc_reg_operand" "=r,r")
@@ -227,8 +227,8 @@ You should have received a copy of the GNU General Public License
(match_operand 2 "" "")))]
"TARGET_MACHO && TARGET_64BIT"
"@
- {cal %0,%a2@l(%1)|la %0,lo16(%2)(%1)}
- {cal %0,%a2@l(%1)|addic %0,%1,lo16(%2)}")
+ la %0,lo16(%2)(%1)
+ addic %0,%1,lo16(%2)")
(define_split
[(set (mem:V4SI (plus:DI (match_operand:DI 0 "gpc_reg_operand" "")
diff --git a/gcc/config/rs6000/darwin64.h b/gcc/config/rs6000/darwin64.h
index 9b0e257..1a1fcf0 100644
--- a/gcc/config/rs6000/darwin64.h
+++ b/gcc/config/rs6000/darwin64.h
@@ -20,7 +20,7 @@
#undef TARGET_DEFAULT
#define TARGET_DEFAULT (MASK_POWERPC64 | MASK_64BIT \
- | MASK_MULTIPLE | MASK_NEW_MNEMONICS | MASK_PPC_GFXOPT)
+ | MASK_MULTIPLE | MASK_PPC_GFXOPT)
#undef DARWIN_ARCH_SPEC
#define DARWIN_ARCH_SPEC "%{m32:ppc;:ppc64}"
diff --git a/gcc/config/rs6000/default64.h b/gcc/config/rs6000/default64.h
index 8de31b4..bc336d8 100644
--- a/gcc/config/rs6000/default64.h
+++ b/gcc/config/rs6000/default64.h
@@ -19,5 +19,4 @@ along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
#undef TARGET_DEFAULT
-#define TARGET_DEFAULT \
- (MASK_PPC_GFXOPT | MASK_POWERPC64 | MASK_64BIT | MASK_NEW_MNEMONICS)
+#define TARGET_DEFAULT (MASK_PPC_GFXOPT | MASK_POWERPC64 | MASK_64BIT)
diff --git a/gcc/config/rs6000/dfp.md b/gcc/config/rs6000/dfp.md
index d2fd12b..9dadf6f 100644
--- a/gcc/config/rs6000/dfp.md
+++ b/gcc/config/rs6000/dfp.md
@@ -68,12 +68,12 @@
&& (TARGET_HARD_FLOAT && TARGET_FPRS)"
"@
mr %0,%1
- {l%U1%X1|lwz%U1%X1} %0,%1
- {st%U0%X0|stw%U0%X0} %1,%0
+ lwz%U1%X1 %0,%1
+ stw%U0%X0 %1,%0
fmr %0,%1
mt%0 %1
mf%1 %0
- {cror 0,0,0|nop}
+ nop
#
#"
[(set_attr "type" "*,load,store,fp,mtjmpr,mfjmpr,*,*,*")
@@ -89,14 +89,14 @@
mr %0,%1
mt%0 %1
mf%1 %0
- {l%U1%X1|lwz%U1%X1} %0,%1
- {st%U0%X0|stw%U0%X0} %1,%0
- {lil|li} %0,%1
- {liu|lis} %0,%v1
- {cal|la} %0,%a1
+ lwz%U1%X1 %0,%1
+ stw%U0%X0 %1,%0
+ li %0,%1
+ lis %0,%v1
+ la %0,%a1
#
#
- {cror 0,0,0|nop}"
+ nop"
[(set_attr "type" "*,mtjmpr,mfjmpr,load,store,*,*,*,*,*,*")
(set_attr "length" "4,4,4,4,4,4,4,4,4,8,4")])
@@ -335,7 +335,7 @@
stfd%U0%X0 %1,%0
mt%0 %1
mf%1 %0
- {cror 0,0,0|nop}
+ nop
#
#
#
@@ -361,7 +361,7 @@
stfd%U0%X0 %1,%0
mt%0 %1
mf%1 %0
- {cror 0,0,0|nop}
+ nop
#
#
#"
@@ -383,7 +383,7 @@
#
#
#
- {cror 0,0,0|nop}"
+ nop"
[(set_attr "type" "load,store,*,mtjmpr,mfjmpr,*,*,*,*")
(set_attr "length" "4,4,4,4,4,8,12,16,4")])
diff --git a/gcc/config/rs6000/eabi.h b/gcc/config/rs6000/eabi.h
index d97d12e..7318aa2 100644
--- a/gcc/config/rs6000/eabi.h
+++ b/gcc/config/rs6000/eabi.h
@@ -21,7 +21,7 @@
/* Add -meabi to target flags. */
#undef TARGET_DEFAULT
-#define TARGET_DEFAULT (MASK_NEW_MNEMONICS | MASK_EABI)
+#define TARGET_DEFAULT MASK_EABI
/* Invoke an initializer function to set up the GOT. */
#define NAME__MAIN "__eabi"
diff --git a/gcc/config/rs6000/eabialtivec.h b/gcc/config/rs6000/eabialtivec.h
index af15632..a52262e 100644
--- a/gcc/config/rs6000/eabialtivec.h
+++ b/gcc/config/rs6000/eabialtivec.h
@@ -21,7 +21,7 @@
/* Add -meabi and -maltivec to target flags. */
#undef TARGET_DEFAULT
-#define TARGET_DEFAULT (MASK_NEW_MNEMONICS | MASK_EABI | MASK_ALTIVEC)
+#define TARGET_DEFAULT (MASK_EABI | MASK_ALTIVEC)
#undef SUBSUBTARGET_OVERRIDE_OPTIONS
#define SUBSUBTARGET_OVERRIDE_OPTIONS rs6000_altivec_abi = 1
diff --git a/gcc/config/rs6000/eabispe.h b/gcc/config/rs6000/eabispe.h
index 4fdaf9a..55b57e7 100644
--- a/gcc/config/rs6000/eabispe.h
+++ b/gcc/config/rs6000/eabispe.h
@@ -20,7 +20,7 @@
<http://www.gnu.org/licenses/>. */
#undef TARGET_DEFAULT
-#define TARGET_DEFAULT (MASK_NEW_MNEMONICS | MASK_STRICT_ALIGN | MASK_EABI)
+#define TARGET_DEFAULT (MASK_STRICT_ALIGN | MASK_EABI)
#undef ASM_DEFAULT_SPEC
#define ASM_DEFAULT_SPEC "-mppc -mspe -me500"
diff --git a/gcc/config/rs6000/linuxaltivec.h b/gcc/config/rs6000/linuxaltivec.h
index c2396fe..ef3f0ad 100644
--- a/gcc/config/rs6000/linuxaltivec.h
+++ b/gcc/config/rs6000/linuxaltivec.h
@@ -21,7 +21,7 @@
/* Override rs6000.h and sysv4.h definition. */
#undef TARGET_DEFAULT
-#define TARGET_DEFAULT (MASK_NEW_MNEMONICS | MASK_ALTIVEC)
+#define TARGET_DEFAULT MASK_ALTIVEC
#undef SUBSUBTARGET_OVERRIDE_OPTIONS
#define SUBSUBTARGET_OVERRIDE_OPTIONS rs6000_altivec_abi = 1
diff --git a/gcc/config/rs6000/linuxspe.h b/gcc/config/rs6000/linuxspe.h
index e79ee67..9eb7b2c 100644
--- a/gcc/config/rs6000/linuxspe.h
+++ b/gcc/config/rs6000/linuxspe.h
@@ -21,7 +21,7 @@
/* Override rs6000.h and sysv4.h definition. */
#undef TARGET_DEFAULT
-#define TARGET_DEFAULT (MASK_NEW_MNEMONICS | MASK_STRICT_ALIGN)
+#define TARGET_DEFAULT MASK_STRICT_ALIGN
#undef ASM_DEFAULT_SPEC
#define ASM_DEFAULT_SPEC "-mppc -mspe -me500"
diff --git a/gcc/config/rs6000/rs6000-cpus.def b/gcc/config/rs6000/rs6000-cpus.def
index 5d76f6a..cfac0e7 100644
--- a/gcc/config/rs6000/rs6000-cpus.def
+++ b/gcc/config/rs6000/rs6000-cpus.def
@@ -32,101 +32,78 @@
where the arguments are the fields of struct rs6000_ptt. */
-RS6000_CPU ("401", PROCESSOR_PPC403, POWERPC_BASE_MASK | MASK_SOFT_FLOAT)
-RS6000_CPU ("403", PROCESSOR_PPC403,
- POWERPC_BASE_MASK | MASK_SOFT_FLOAT | MASK_STRICT_ALIGN)
-RS6000_CPU ("405", PROCESSOR_PPC405,
- POWERPC_BASE_MASK | MASK_SOFT_FLOAT | MASK_MULHW | MASK_DLMZB)
-RS6000_CPU ("405fp", PROCESSOR_PPC405,
- POWERPC_BASE_MASK | MASK_MULHW | MASK_DLMZB)
-RS6000_CPU ("440", PROCESSOR_PPC440,
- POWERPC_BASE_MASK | MASK_SOFT_FLOAT | MASK_MULHW | MASK_DLMZB)
-RS6000_CPU ("440fp", PROCESSOR_PPC440,
- POWERPC_BASE_MASK | MASK_MULHW | MASK_DLMZB)
-RS6000_CPU ("464", PROCESSOR_PPC440,
- POWERPC_BASE_MASK | MASK_SOFT_FLOAT | MASK_MULHW | MASK_DLMZB)
-RS6000_CPU ("464fp", PROCESSOR_PPC440,
- POWERPC_BASE_MASK | MASK_MULHW | MASK_DLMZB)
+RS6000_CPU ("401", PROCESSOR_PPC403, MASK_SOFT_FLOAT)
+RS6000_CPU ("403", PROCESSOR_PPC403, MASK_SOFT_FLOAT | MASK_STRICT_ALIGN)
+RS6000_CPU ("405", PROCESSOR_PPC405, MASK_SOFT_FLOAT | MASK_MULHW | MASK_DLMZB)
+RS6000_CPU ("405fp", PROCESSOR_PPC405, MASK_MULHW | MASK_DLMZB)
+RS6000_CPU ("440", PROCESSOR_PPC440, MASK_SOFT_FLOAT | MASK_MULHW | MASK_DLMZB)
+RS6000_CPU ("440fp", PROCESSOR_PPC440, MASK_MULHW | MASK_DLMZB)
+RS6000_CPU ("464", PROCESSOR_PPC440, MASK_SOFT_FLOAT | MASK_MULHW | MASK_DLMZB)
+RS6000_CPU ("464fp", PROCESSOR_PPC440, MASK_MULHW | MASK_DLMZB)
RS6000_CPU ("476", PROCESSOR_PPC476,
- POWERPC_BASE_MASK | MASK_SOFT_FLOAT | MASK_PPC_GFXOPT | MASK_MFCRF
- | MASK_POPCNTB | MASK_FPRND | MASK_CMPB | MASK_MULHW | MASK_DLMZB)
-RS6000_CPU ("476fp", PROCESSOR_PPC476,
- POWERPC_BASE_MASK | MASK_PPC_GFXOPT | MASK_MFCRF | MASK_POPCNTB
+ MASK_SOFT_FLOAT | MASK_PPC_GFXOPT | MASK_MFCRF | MASK_POPCNTB
| MASK_FPRND | MASK_CMPB | MASK_MULHW | MASK_DLMZB)
-RS6000_CPU ("505", PROCESSOR_MPCCORE, POWERPC_BASE_MASK)
-RS6000_CPU ("601", PROCESSOR_PPC601,
- POWERPC_BASE_MASK | MASK_MULTIPLE | MASK_STRING)
-RS6000_CPU ("602", PROCESSOR_PPC603, POWERPC_BASE_MASK | MASK_PPC_GFXOPT)
-RS6000_CPU ("603", PROCESSOR_PPC603, POWERPC_BASE_MASK | MASK_PPC_GFXOPT)
-RS6000_CPU ("603e", PROCESSOR_PPC603, POWERPC_BASE_MASK | MASK_PPC_GFXOPT)
-RS6000_CPU ("604", PROCESSOR_PPC604, POWERPC_BASE_MASK | MASK_PPC_GFXOPT)
-RS6000_CPU ("604e", PROCESSOR_PPC604e, POWERPC_BASE_MASK | MASK_PPC_GFXOPT)
-RS6000_CPU ("620", PROCESSOR_PPC620,
- POWERPC_BASE_MASK | MASK_PPC_GFXOPT | MASK_POWERPC64)
-RS6000_CPU ("630", PROCESSOR_PPC630,
- POWERPC_BASE_MASK | MASK_PPC_GFXOPT | MASK_POWERPC64)
-RS6000_CPU ("740", PROCESSOR_PPC750, POWERPC_BASE_MASK | MASK_PPC_GFXOPT)
+RS6000_CPU ("476fp", PROCESSOR_PPC476,
+ MASK_PPC_GFXOPT | MASK_MFCRF | MASK_POPCNTB | MASK_FPRND
+ | MASK_CMPB | MASK_MULHW | MASK_DLMZB)
+RS6000_CPU ("505", PROCESSOR_MPCCORE, 0)
+RS6000_CPU ("601", PROCESSOR_PPC601, MASK_MULTIPLE | MASK_STRING)
+RS6000_CPU ("602", PROCESSOR_PPC603, MASK_PPC_GFXOPT)
+RS6000_CPU ("603", PROCESSOR_PPC603, MASK_PPC_GFXOPT)
+RS6000_CPU ("603e", PROCESSOR_PPC603, MASK_PPC_GFXOPT)
+RS6000_CPU ("604", PROCESSOR_PPC604, MASK_PPC_GFXOPT)
+RS6000_CPU ("604e", PROCESSOR_PPC604e, MASK_PPC_GFXOPT)
+RS6000_CPU ("620", PROCESSOR_PPC620, MASK_PPC_GFXOPT | MASK_POWERPC64)
+RS6000_CPU ("630", PROCESSOR_PPC630, MASK_PPC_GFXOPT | MASK_POWERPC64)
+RS6000_CPU ("740", PROCESSOR_PPC750, MASK_PPC_GFXOPT)
RS6000_CPU ("7400", PROCESSOR_PPC7400, POWERPC_7400_MASK)
RS6000_CPU ("7450", PROCESSOR_PPC7450, POWERPC_7400_MASK)
-RS6000_CPU ("750", PROCESSOR_PPC750, POWERPC_BASE_MASK | MASK_PPC_GFXOPT)
-RS6000_CPU ("801", PROCESSOR_MPCCORE, POWERPC_BASE_MASK | MASK_SOFT_FLOAT)
-RS6000_CPU ("821", PROCESSOR_MPCCORE, POWERPC_BASE_MASK | MASK_SOFT_FLOAT)
-RS6000_CPU ("823", PROCESSOR_MPCCORE, POWERPC_BASE_MASK | MASK_SOFT_FLOAT)
-RS6000_CPU ("8540", PROCESSOR_PPC8540, POWERPC_BASE_MASK | MASK_STRICT_ALIGN
- | MASK_ISEL)
-RS6000_CPU ("8548", PROCESSOR_PPC8548, POWERPC_BASE_MASK | MASK_STRICT_ALIGN
- | MASK_ISEL)
+RS6000_CPU ("750", PROCESSOR_PPC750, MASK_PPC_GFXOPT)
+RS6000_CPU ("801", PROCESSOR_MPCCORE, MASK_SOFT_FLOAT)
+RS6000_CPU ("821", PROCESSOR_MPCCORE, MASK_SOFT_FLOAT)
+RS6000_CPU ("823", PROCESSOR_MPCCORE, MASK_SOFT_FLOAT)
+RS6000_CPU ("8540", PROCESSOR_PPC8540, MASK_STRICT_ALIGN | MASK_ISEL)
+RS6000_CPU ("8548", PROCESSOR_PPC8548, MASK_STRICT_ALIGN | MASK_ISEL)
RS6000_CPU ("a2", PROCESSOR_PPCA2,
- POWERPC_BASE_MASK | MASK_PPC_GFXOPT | MASK_POWERPC64 | MASK_POPCNTB
- | MASK_CMPB | MASK_NO_UPDATE)
-RS6000_CPU ("e300c2", PROCESSOR_PPCE300C2, POWERPC_BASE_MASK | MASK_SOFT_FLOAT)
-RS6000_CPU ("e300c3", PROCESSOR_PPCE300C3, POWERPC_BASE_MASK)
-RS6000_CPU ("e500mc", PROCESSOR_PPCE500MC, POWERPC_BASE_MASK | MASK_PPC_GFXOPT
- | MASK_ISEL)
+ MASK_PPC_GFXOPT | MASK_POWERPC64 | MASK_POPCNTB | MASK_CMPB
+ | MASK_NO_UPDATE)
+RS6000_CPU ("e300c2", PROCESSOR_PPCE300C2, MASK_SOFT_FLOAT)
+RS6000_CPU ("e300c3", PROCESSOR_PPCE300C3, 0)
+RS6000_CPU ("e500mc", PROCESSOR_PPCE500MC, MASK_PPC_GFXOPT | MASK_ISEL)
RS6000_CPU ("e500mc64", PROCESSOR_PPCE500MC64,
- POWERPC_BASE_MASK | MASK_POWERPC64 | MASK_PPC_GFXOPT | MASK_ISEL)
-RS6000_CPU ("e5500", PROCESSOR_PPCE5500, POWERPC_BASE_MASK | MASK_POWERPC64
- | MASK_PPC_GFXOPT | MASK_ISEL)
+ MASK_POWERPC64 | MASK_PPC_GFXOPT | MASK_ISEL)
+RS6000_CPU ("e5500", PROCESSOR_PPCE5500,
+ MASK_POWERPC64 | MASK_PPC_GFXOPT | MASK_ISEL)
RS6000_CPU ("e6500", PROCESSOR_PPCE6500, POWERPC_7400_MASK | MASK_POWERPC64
| MASK_MFCRF | MASK_ISEL)
-RS6000_CPU ("860", PROCESSOR_MPCCORE, POWERPC_BASE_MASK | MASK_SOFT_FLOAT)
+RS6000_CPU ("860", PROCESSOR_MPCCORE, MASK_SOFT_FLOAT)
RS6000_CPU ("970", PROCESSOR_POWER4,
POWERPC_7400_MASK | MASK_PPC_GPOPT | MASK_MFCRF | MASK_POWERPC64)
RS6000_CPU ("cell", PROCESSOR_CELL,
POWERPC_7400_MASK | MASK_PPC_GPOPT | MASK_MFCRF | MASK_POWERPC64)
-RS6000_CPU ("common", PROCESSOR_COMMON, MASK_NEW_MNEMONICS)
-RS6000_CPU ("ec603e", PROCESSOR_PPC603, POWERPC_BASE_MASK | MASK_SOFT_FLOAT)
-RS6000_CPU ("G3", PROCESSOR_PPC750, POWERPC_BASE_MASK | MASK_PPC_GFXOPT)
+RS6000_CPU ("ec603e", PROCESSOR_PPC603, MASK_SOFT_FLOAT)
+RS6000_CPU ("G3", PROCESSOR_PPC750, MASK_PPC_GFXOPT)
RS6000_CPU ("G4", PROCESSOR_PPC7450, POWERPC_7400_MASK)
RS6000_CPU ("G5", PROCESSOR_POWER4,
POWERPC_7400_MASK | MASK_PPC_GPOPT | MASK_MFCRF | MASK_POWERPC64)
-RS6000_CPU ("titan", PROCESSOR_TITAN,
- POWERPC_BASE_MASK | MASK_MULHW | MASK_DLMZB)
-RS6000_CPU ("power3", PROCESSOR_PPC630,
- POWERPC_BASE_MASK | MASK_PPC_GFXOPT | MASK_POWERPC64)
-RS6000_CPU ("power4", PROCESSOR_POWER4,
- POWERPC_BASE_MASK | MASK_POWERPC64 | MASK_PPC_GPOPT
+RS6000_CPU ("titan", PROCESSOR_TITAN, MASK_MULHW | MASK_DLMZB)
+RS6000_CPU ("power3", PROCESSOR_PPC630, MASK_PPC_GFXOPT | MASK_POWERPC64)
+RS6000_CPU ("power4", PROCESSOR_POWER4, MASK_POWERPC64 | MASK_PPC_GPOPT
| MASK_PPC_GFXOPT | MASK_MFCRF)
-RS6000_CPU ("power5", PROCESSOR_POWER5,
- POWERPC_BASE_MASK | MASK_POWERPC64 | MASK_PPC_GPOPT
+RS6000_CPU ("power5", PROCESSOR_POWER5, MASK_POWERPC64 | MASK_PPC_GPOPT
| MASK_PPC_GFXOPT | MASK_MFCRF | MASK_POPCNTB)
-RS6000_CPU ("power5+", PROCESSOR_POWER5,
- POWERPC_BASE_MASK | MASK_POWERPC64 | MASK_PPC_GPOPT
+RS6000_CPU ("power5+", PROCESSOR_POWER5, MASK_POWERPC64 | MASK_PPC_GPOPT
| MASK_PPC_GFXOPT | MASK_MFCRF | MASK_POPCNTB | MASK_FPRND)
-RS6000_CPU ("power6", PROCESSOR_POWER6,
- POWERPC_BASE_MASK | MASK_POWERPC64 | MASK_PPC_GPOPT
+RS6000_CPU ("power6", PROCESSOR_POWER6, MASK_POWERPC64 | MASK_PPC_GPOPT
| MASK_PPC_GFXOPT | MASK_MFCRF | MASK_POPCNTB | MASK_FPRND
| MASK_CMPB | MASK_DFP | MASK_RECIP_PRECISION)
-RS6000_CPU ("power6x", PROCESSOR_POWER6,
- POWERPC_BASE_MASK | MASK_POWERPC64 | MASK_PPC_GPOPT
+RS6000_CPU ("power6x", PROCESSOR_POWER6, MASK_POWERPC64 | MASK_PPC_GPOPT
| MASK_PPC_GFXOPT | MASK_MFCRF | MASK_POPCNTB | MASK_FPRND
| MASK_CMPB | MASK_DFP | MASK_MFPGPR | MASK_RECIP_PRECISION)
RS6000_CPU ("power7", PROCESSOR_POWER7, /* Don't add MASK_ISEL by default */
POWERPC_7400_MASK | MASK_POWERPC64 | MASK_PPC_GPOPT | MASK_MFCRF
| MASK_POPCNTB | MASK_FPRND | MASK_CMPB | MASK_DFP | MASK_POPCNTD
| MASK_VSX | MASK_RECIP_PRECISION)
-RS6000_CPU ("powerpc", PROCESSOR_POWERPC, POWERPC_BASE_MASK)
-RS6000_CPU ("powerpc64", PROCESSOR_POWERPC64,
- POWERPC_BASE_MASK | MASK_PPC_GFXOPT | MASK_POWERPC64)
-RS6000_CPU ("rs64", PROCESSOR_RS64A,
- POWERPC_BASE_MASK | MASK_PPC_GFXOPT | MASK_POWERPC64)
+RS6000_CPU ("powerpc", PROCESSOR_POWERPC, 0)
+RS6000_CPU ("powerpc64", PROCESSOR_POWERPC64, MASK_PPC_GFXOPT | MASK_POWERPC64)
+RS6000_CPU ("rs64", PROCESSOR_RS64A, MASK_PPC_GFXOPT | MASK_POWERPC64)
diff --git a/gcc/config/rs6000/rs6000-tables.opt b/gcc/config/rs6000/rs6000-tables.opt
index 26e700f..f63d9c4f 100644
--- a/gcc/config/rs6000/rs6000-tables.opt
+++ b/gcc/config/rs6000/rs6000-tables.opt
@@ -141,50 +141,47 @@ EnumValue
Enum(rs6000_cpu_opt_value) String(cell) Value(37)
EnumValue
-Enum(rs6000_cpu_opt_value) String(common) Value(38)
+Enum(rs6000_cpu_opt_value) String(ec603e) Value(38)
EnumValue
-Enum(rs6000_cpu_opt_value) String(ec603e) Value(39)
+Enum(rs6000_cpu_opt_value) String(G3) Value(39)
EnumValue
-Enum(rs6000_cpu_opt_value) String(G3) Value(40)
+Enum(rs6000_cpu_opt_value) String(G4) Value(40)
EnumValue
-Enum(rs6000_cpu_opt_value) String(G4) Value(41)
+Enum(rs6000_cpu_opt_value) String(G5) Value(41)
EnumValue
-Enum(rs6000_cpu_opt_value) String(G5) Value(42)
+Enum(rs6000_cpu_opt_value) String(titan) Value(42)
EnumValue
-Enum(rs6000_cpu_opt_value) String(titan) Value(43)
+Enum(rs6000_cpu_opt_value) String(power3) Value(43)
EnumValue
-Enum(rs6000_cpu_opt_value) String(power3) Value(44)
+Enum(rs6000_cpu_opt_value) String(power4) Value(44)
EnumValue
-Enum(rs6000_cpu_opt_value) String(power4) Value(45)
+Enum(rs6000_cpu_opt_value) String(power5) Value(45)
EnumValue
-Enum(rs6000_cpu_opt_value) String(power5) Value(46)
+Enum(rs6000_cpu_opt_value) String(power5+) Value(46)
EnumValue
-Enum(rs6000_cpu_opt_value) String(power5+) Value(47)
+Enum(rs6000_cpu_opt_value) String(power6) Value(47)
EnumValue
-Enum(rs6000_cpu_opt_value) String(power6) Value(48)
+Enum(rs6000_cpu_opt_value) String(power6x) Value(48)
EnumValue
-Enum(rs6000_cpu_opt_value) String(power6x) Value(49)
+Enum(rs6000_cpu_opt_value) String(power7) Value(49)
EnumValue
-Enum(rs6000_cpu_opt_value) String(power7) Value(50)
+Enum(rs6000_cpu_opt_value) String(powerpc) Value(50)
EnumValue
-Enum(rs6000_cpu_opt_value) String(powerpc) Value(51)
+Enum(rs6000_cpu_opt_value) String(powerpc64) Value(51)
EnumValue
-Enum(rs6000_cpu_opt_value) String(powerpc64) Value(52)
-
-EnumValue
-Enum(rs6000_cpu_opt_value) String(rs64) Value(53)
+Enum(rs6000_cpu_opt_value) String(rs64) Value(52)
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index d979b30..4571c6f 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -1457,8 +1457,7 @@ static const struct attribute_spec rs6000_attribute_table[] =
/* Simplifications for entries below. */
enum {
- POWERPC_BASE_MASK = MASK_NEW_MNEMONICS,
- POWERPC_7400_MASK = POWERPC_BASE_MASK | MASK_PPC_GFXOPT | MASK_ALTIVEC
+ POWERPC_7400_MASK = MASK_PPC_GFXOPT | MASK_ALTIVEC
};
/* Some OSs don't support saving the high part of 64-bit registers on context
@@ -1468,7 +1467,7 @@ enum {
the user's specification. */
enum {
- POWERPC_MASKS = (POWERPC_BASE_MASK | MASK_PPC_GPOPT | MASK_STRICT_ALIGN
+ POWERPC_MASKS = (MASK_PPC_GPOPT | MASK_STRICT_ALIGN
| MASK_PPC_GFXOPT | MASK_POWERPC64 | MASK_ALTIVEC
| MASK_MFCRF | MASK_POPCNTB | MASK_FPRND | MASK_MULHW
| MASK_DLMZB | MASK_CMPB | MASK_MFPGPR | MASK_DFP
@@ -4023,11 +4022,11 @@ direct_return (void)
int
num_insns_constant_wide (HOST_WIDE_INT value)
{
- /* signed constant loadable with {cal|addi} */
+ /* signed constant loadable with addi */
if ((unsigned HOST_WIDE_INT) (value + 0x8000) < 0x10000)
return 1;
- /* constant loadable with {cau|addis} */
+ /* constant loadable with addis */
else if ((value & 0xffff) == 0
&& (value >> 31 == -1 || value >> 31 == 0))
return 1;
@@ -13027,7 +13026,7 @@ rs6000_output_load_multiple (rtx operands[3])
rtx xop[10];
if (XVECLEN (operands[0], 0) == 1)
- return "{l|lwz} %2,0(%1)";
+ return "lwz %2,0(%1)";
for (i = 0; i < words; i++)
if (refers_to_regno_p (REGNO (operands[2]) + i,
@@ -13038,7 +13037,7 @@ rs6000_output_load_multiple (rtx operands[3])
xop[0] = GEN_INT (4 * (words-1));
xop[1] = operands[1];
xop[2] = operands[2];
- output_asm_insn ("{lsi|lswi} %2,%1,%0\n\t{l|lwz} %1,%0(%1)", xop);
+ output_asm_insn ("lswi %2,%1,%0\n\tlwz %1,%0(%1)", xop);
return "";
}
else if (i == 0)
@@ -13046,7 +13045,7 @@ rs6000_output_load_multiple (rtx operands[3])
xop[0] = GEN_INT (4 * (words-1));
xop[1] = operands[1];
xop[2] = gen_rtx_REG (SImode, REGNO (operands[2]) + 1);
- output_asm_insn ("{cal %1,4(%1)|addi %1,%1,4}\n\t{lsi|lswi} %2,%1,%0\n\t{l|lwz} %1,-4(%1)", xop);
+ output_asm_insn ("addi %1,%1,4\n\tlswi %2,%1,%0\n\tlwz %1,-4(%1)", xop);
return "";
}
else
@@ -13057,16 +13056,16 @@ rs6000_output_load_multiple (rtx operands[3])
xop[0] = GEN_INT (j * 4);
xop[1] = operands[1];
xop[2] = gen_rtx_REG (SImode, REGNO (operands[2]) + j);
- output_asm_insn ("{l|lwz} %2,%0(%1)", xop);
+ output_asm_insn ("lwz %2,%0(%1)", xop);
}
xop[0] = GEN_INT (i * 4);
xop[1] = operands[1];
- output_asm_insn ("{l|lwz} %1,%0(%1)", xop);
+ output_asm_insn ("lwz %1,%0(%1)", xop);
return "";
}
}
- return "{lsi|lswi} %2,%1,%N0";
+ return "lswi %2,%1,%N0";
}
@@ -14957,7 +14956,7 @@ print_operand (FILE *file, rtx x, int code)
&& REGNO (x) != CTR_REGNO))
output_operand_lossage ("invalid %%T value");
else if (REGNO (x) == LR_REGNO)
- fputs (TARGET_NEW_MNEMONICS ? "lr" : "r", file);
+ fputs ("lr", file);
else
fputs ("ctr", file);
return;
@@ -15922,8 +15921,7 @@ output_cbranch (rtx op, const char *label, int reversed, rtx insn)
gcc_unreachable ();
}
- /* Maybe we have a guess as to how likely the branch is.
- The old mnemonics don't have a way to specify this information. */
+ /* Maybe we have a guess as to how likely the branch is. */
pred = "";
note = find_reg_note (insn, REG_BR_PROB, NULL_RTX);
if (note != NULL_RTX)
@@ -15950,9 +15948,9 @@ output_cbranch (rtx op, const char *label, int reversed, rtx insn)
}
if (label == NULL)
- s += sprintf (s, "{b%sr|b%slr%s} ", ccode, ccode, pred);
+ s += sprintf (s, "b%slr%s ", ccode, pred);
else
- s += sprintf (s, "{b%s|b%s%s} ", ccode, ccode, pred);
+ s += sprintf (s, "b%s%s ", ccode, pred);
/* We need to escape any '%' characters in the reg_names string.
Assume they'd only be the first character.... */
@@ -18788,9 +18786,9 @@ output_probe_stack_range (rtx reg1, rtx reg2)
xops[0] = reg1;
xops[1] = reg2;
if (TARGET_64BIT)
- output_asm_insn ("{cmp|cmpd} 0,%0,%1", xops);
+ output_asm_insn ("cmpd 0,%0,%1", xops);
else
- output_asm_insn ("{cmp|cmpw} 0,%0,%1", xops);
+ output_asm_insn ("cmpw 0,%0,%1", xops);
fputs ("\tbeq 0,", asm_out_file);
assemble_name_raw (asm_out_file, end_lab);
@@ -18798,11 +18796,11 @@ output_probe_stack_range (rtx reg1, rtx reg2)
/* TEST_ADDR = TEST_ADDR + PROBE_INTERVAL. */
xops[1] = GEN_INT (-PROBE_INTERVAL);
- output_asm_insn ("{cal %0,%1(%0)|addi %0,%0,%1}", xops);
+ output_asm_insn ("addi %0,%0,%1", xops);
/* Probe at TEST_ADDR and branch. */
xops[1] = gen_rtx_REG (Pmode, 0);
- output_asm_insn ("{st|stw} %1,0(%0)", xops);
+ output_asm_insn ("stw %1,0(%0)", xops);
fprintf (asm_out_file, "\tb ");
assemble_name_raw (asm_out_file, loop_lab);
fputc ('\n', asm_out_file);
@@ -22351,7 +22349,7 @@ output_function_profiler (FILE *file, int labelno)
fprintf (file, "\tmflr %s\n", reg_names[0]);
if (NO_PROFILE_COUNTERS)
{
- asm_fprintf (file, "\t{st|stw} %s,4(%s)\n",
+ asm_fprintf (file, "\tstw %s,4(%s)\n",
reg_names[0], reg_names[1]);
}
else if (TARGET_SECURE_PLT && flag_pic)
@@ -22364,29 +22362,29 @@ output_function_profiler (FILE *file, int labelno)
}
else
asm_fprintf (file, "\tbcl 20,31,1f\n1:\n");
- asm_fprintf (file, "\t{st|stw} %s,4(%s)\n",
+ asm_fprintf (file, "\tstw %s,4(%s)\n",
reg_names[0], reg_names[1]);
asm_fprintf (file, "\tmflr %s\n", reg_names[12]);
- asm_fprintf (file, "\t{cau|addis} %s,%s,",
+ asm_fprintf (file, "\taddis %s,%s,",
reg_names[12], reg_names[12]);
assemble_name (file, buf);
- asm_fprintf (file, "-1b@ha\n\t{cal|la} %s,", reg_names[0]);
+ asm_fprintf (file, "-1b@ha\n\tla %s,", reg_names[0]);
assemble_name (file, buf);
asm_fprintf (file, "-1b@l(%s)\n", reg_names[12]);
}
else if (flag_pic == 1)
{
fputs ("\tbl _GLOBAL_OFFSET_TABLE_@local-4\n", file);
- asm_fprintf (file, "\t{st|stw} %s,4(%s)\n",
+ asm_fprintf (file, "\tstw %s,4(%s)\n",
reg_names[0], reg_names[1]);
asm_fprintf (file, "\tmflr %s\n", reg_names[12]);
- asm_fprintf (file, "\t{l|lwz} %s,", reg_names[0]);
+ asm_fprintf (file, "\tlwz %s,", reg_names[0]);
assemble_name (file, buf);
asm_fprintf (file, "@got(%s)\n", reg_names[12]);
}
else if (flag_pic > 1)
{
- asm_fprintf (file, "\t{st|stw} %s,4(%s)\n",
+ asm_fprintf (file, "\tstw %s,4(%s)\n",
reg_names[0], reg_names[1]);
/* Now, we need to get the address of the label. */
if (TARGET_LINK_STACK)
@@ -22407,19 +22405,19 @@ output_function_profiler (FILE *file, int labelno)
fputs ("-.\n1:", file);
asm_fprintf (file, "\tmflr %s\n", reg_names[11]);
}
- asm_fprintf (file, "\t{l|lwz} %s,0(%s)\n",
+ asm_fprintf (file, "\tlwz %s,0(%s)\n",
reg_names[0], reg_names[11]);
- asm_fprintf (file, "\t{cax|add} %s,%s,%s\n",
+ asm_fprintf (file, "\tadd %s,%s,%s\n",
reg_names[0], reg_names[0], reg_names[11]);
}
else
{
- asm_fprintf (file, "\t{liu|lis} %s,", reg_names[12]);
+ asm_fprintf (file, "\tlis %s,", reg_names[12]);
assemble_name (file, buf);
fputs ("@ha\n", file);
- asm_fprintf (file, "\t{st|stw} %s,4(%s)\n",
+ asm_fprintf (file, "\tstw %s,4(%s)\n",
reg_names[0], reg_names[1]);
- asm_fprintf (file, "\t{cal|la} %s,", reg_names[0]);
+ asm_fprintf (file, "\tla %s,", reg_names[0]);
assemble_name (file, buf);
asm_fprintf (file, "@l(%s)\n", reg_names[12]);
}
diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h
index 2edf007..abafbf9 100644
--- a/gcc/config/rs6000/rs6000.h
+++ b/gcc/config/rs6000/rs6000.h
@@ -348,10 +348,6 @@ extern const char *host_detect_local_cpu (int argc, const char **argv);
#define PROCESSOR_DEFAULT PROCESSOR_PPC603
#define PROCESSOR_DEFAULT64 PROCESSOR_RS64A
-/* Specify the dialect of assembler to use. New mnemonics is dialect one
- and the old mnemonics are dialect zero. */
-#define ASSEMBLER_DIALECT (TARGET_NEW_MNEMONICS ? 1 : 0)
-
/* Debug support */
#define MASK_DEBUG_STACK 0x01 /* debug stack applications */
#define MASK_DEBUG_ARG 0x02 /* debug argument handling */
diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md
index 19e3a76..d5ffd81 100644
--- a/gcc/config/rs6000/rs6000.md
+++ b/gcc/config/rs6000/rs6000.md
@@ -288,7 +288,7 @@
(define_mode_attr mptrsize [(SI "si")
(DI "di")])
-(define_mode_attr ptrload [(SI "{l|lwz}")
+(define_mode_attr ptrload [(SI "lwz")
(DI "ld")])
(define_mode_attr rreg [(SF "f")
@@ -597,7 +597,7 @@
""
"@
lbz%U1%X1 %0,%1
- {rlinm|rlwinm} %0,%1,0,0xff"
+ rlwinm %0,%1,0,0xff"
[(set_attr "type" "load,*")])
(define_insn ""
@@ -607,7 +607,7 @@
(clobber (match_scratch:SI 2 "=r,r"))]
""
"@
- {andil.|andi.} %2,%1,0xff
+ andi. %2,%1,0xff
#"
[(set_attr "type" "fast_compare,compare")
(set_attr "length" "4,8")])
@@ -633,7 +633,7 @@
(zero_extend:SI (match_dup 1)))]
""
"@
- {andil.|andi.} %0,%1,0xff
+ andi. %0,%1,0xff
#"
[(set_attr "type" "fast_compare,compare")
(set_attr "length" "4,8")])
@@ -717,7 +717,7 @@
""
"@
lbz%U1%X1 %0,%1
- {rlinm|rlwinm} %0,%1,0,0xff"
+ rlwinm %0,%1,0,0xff"
[(set_attr "type" "load,*")])
(define_insn ""
@@ -727,7 +727,7 @@
(clobber (match_scratch:HI 2 "=r,r"))]
""
"@
- {andil.|andi.} %2,%1,0xff
+ andi. %2,%1,0xff
#"
[(set_attr "type" "fast_compare,compare")
(set_attr "length" "4,8")])
@@ -753,7 +753,7 @@
(zero_extend:HI (match_dup 1)))]
""
"@
- {andil.|andi.} %0,%1,0xff
+ andi. %0,%1,0xff
#"
[(set_attr "type" "fast_compare,compare")
(set_attr "length" "4,8")])
@@ -843,7 +843,7 @@
""
"@
lhz%U1%X1 %0,%1
- {rlinm|rlwinm} %0,%1,0,0xffff"
+ rlwinm %0,%1,0,0xffff"
[(set_attr "type" "load,*")])
(define_insn ""
@@ -853,7 +853,7 @@
(clobber (match_scratch:SI 2 "=r,r"))]
""
"@
- {andil.|andi.} %2,%1,0xffff
+ andi. %2,%1,0xffff
#"
[(set_attr "type" "fast_compare,compare")
(set_attr "length" "4,8")])
@@ -879,7 +879,7 @@
(zero_extend:SI (match_dup 1)))]
""
"@
- {andil.|andi.} %0,%1,0xffff
+ andi. %0,%1,0xffff
#"
[(set_attr "type" "fast_compare,compare")
(set_attr "length" "4,8")])
@@ -910,14 +910,14 @@
"rs6000_gen_cell_microcode"
"@
lha%U1%X1 %0,%1
- {exts|extsh} %0,%1"
+ extsh %0,%1"
[(set_attr "type" "load_ext,exts")])
(define_insn ""
[(set (match_operand:SI 0 "gpc_reg_operand" "=r")
(sign_extend:SI (match_operand:HI 1 "gpc_reg_operand" "r")))]
"!rs6000_gen_cell_microcode"
- "{exts|extsh} %0,%1"
+ "extsh %0,%1"
[(set_attr "type" "exts")])
(define_insn ""
@@ -927,7 +927,7 @@
(clobber (match_scratch:SI 2 "=r,r"))]
""
"@
- {exts.|extsh.} %2,%1
+ extsh. %2,%1
#"
[(set_attr "type" "compare")
(set_attr "length" "4,8")])
@@ -953,7 +953,7 @@
(sign_extend:SI (match_dup 1)))]
""
"@
- {exts.|extsh.} %0,%1
+ extsh. %0,%1
#"
[(set_attr "type" "compare")
(set_attr "length" "4,8")])
@@ -1547,10 +1547,10 @@
(match_operand:GPR 2 "add_operand" "r,I,I,L")))]
"!DECIMAL_FLOAT_MODE_P (GET_MODE (operands[0])) && !DECIMAL_FLOAT_MODE_P (GET_MODE (operands[1]))"
"@
- {cax|add} %0,%1,%2
- {cal %0,%2(%1)|addi %0,%1,%2}
- {ai|addic} %0,%1,%2
- {cau|addis} %0,%1,%v2"
+ add %0,%1,%2
+ addi %0,%1,%2
+ addic %0,%1,%2
+ addis %0,%1,%v2"
[(set_attr "length" "4,4,4,4")])
(define_insn "addsi3_high"
@@ -1558,7 +1558,7 @@
(plus:SI (match_operand:SI 1 "gpc_reg_operand" "b")
(high:SI (match_operand 2 "" ""))))]
"TARGET_MACHO && !TARGET_64BIT"
- "{cau|addis} %0,%1,ha16(%2)"
+ "addis %0,%1,ha16(%2)"
[(set_attr "length" "4")])
(define_insn "*add<mode>3_internal2"
@@ -1569,8 +1569,8 @@
(clobber (match_scratch:P 3 "=r,r,r,r"))]
""
"@
- {cax.|add.} %3,%1,%2
- {ai.|addic.} %3,%1,%2
+ add. %3,%1,%2
+ addic. %3,%1,%2
#
#"
[(set_attr "type" "fast_compare,compare,compare,compare")
@@ -1601,8 +1601,8 @@
(match_dup 2)))]
""
"@
- {cax.|add.} %0,%1,%2
- {ai.|addic.} %0,%1,%2
+ add. %0,%1,%2
+ addic. %0,%1,%2
#
#"
[(set_attr "type" "fast_compare,compare,compare,compare")
@@ -2012,7 +2012,7 @@
[(set (match_operand:GPR 0 "gpc_reg_operand" "=r")
(clz:GPR (match_operand:GPR 1 "gpc_reg_operand" "r")))]
""
- "{cntlz|cntlz<wd>} %0,%1"
+ "cntlz<wd> %0,%1"
[(set_attr "type" "cntlz")])
(define_expand "ctz<mode>2"
@@ -2181,8 +2181,8 @@
(match_operand:SI 1 "reg_or_mem_operand" "Z,r,r")))]
""
"@
- {lbrx|lwbrx} %0,%y1
- {stbrx|stwbrx} %1,%y0
+ lwbrx %0,%y1
+ stwbrx %1,%y0
#"
[(set_attr "length" "4,4,12")
(set_attr "type" "load,store,*")])
@@ -2548,8 +2548,8 @@
(match_operand:SI 2 "reg_or_short_operand" "r,I")))]
""
"@
- {muls|mullw} %0,%1,%2
- {muli|mulli} %0,%1,%2"
+ mullw %0,%1,%2
+ mulli %0,%1,%2"
[(set (attr "type")
(cond [(match_operand:SI 2 "s8bit_cint_operand" "")
(const_string "imul3")
@@ -2565,7 +2565,7 @@
(clobber (match_scratch:SI 3 "=r,r"))]
""
"@
- {muls.|mullw.} %3,%1,%2
+ mullw. %3,%1,%2
#"
[(set_attr "type" "imul_compare")
(set_attr "length" "4,8")])
@@ -2593,7 +2593,7 @@
(mult:SI (match_dup 1) (match_dup 2)))]
""
"@
- {muls.|mullw.} %0,%1,%2
+ mullw. %0,%1,%2
#"
[(set_attr "type" "imul_compare")
(set_attr "length" "4,8")])
@@ -2682,7 +2682,7 @@
(div:GPR (match_operand:GPR 1 "gpc_reg_operand" "r")
(match_operand:GPR 2 "exact_log2_cint_operand" "N")))]
""
- "{srai|sra<wd>i} %0,%1,%p2\;{aze|addze} %0,%0"
+ "sra<wd>i %0,%1,%p2\;addze %0,%0"
[(set_attr "type" "two")
(set_attr "length" "8")])
@@ -2694,7 +2694,7 @@
(clobber (match_scratch:P 3 "=r,r"))]
""
"@
- {srai|sra<wd>i} %3,%1,%p2\;{aze.|addze.} %3,%3
+ sra<wd>i %3,%1,%p2\;addze. %3,%3
#"
[(set_attr "type" "compare")
(set_attr "length" "8,12")
@@ -2724,7 +2724,7 @@
(div:P (match_dup 1) (match_dup 2)))]
""
"@
- {srai|sra<wd>i} %0,%1,%p2\;{aze.|addze.} %0,%0
+ sra<wd>i %0,%1,%p2\;addze. %0,%0
#"
[(set_attr "type" "compare")
(set_attr "length" "8,12")
@@ -2769,9 +2769,9 @@
"rs6000_gen_cell_microcode"
"@
and %0,%1,%2
- {rlinm|rlwinm} %0,%1,0,%m2,%M2
- {andil.|andi.} %0,%1,%b2
- {andiu.|andis.} %0,%1,%u2"
+ rlwinm %0,%1,0,%m2,%M2
+ andi. %0,%1,%b2
+ andis. %0,%1,%u2"
[(set_attr "type" "*,*,fast_compare,fast_compare")])
(define_insn "andsi3_nomc"
@@ -2782,7 +2782,7 @@
"!rs6000_gen_cell_microcode"
"@
and %0,%1,%2
- {rlinm|rlwinm} %0,%1,0,%m2,%M2")
+ rlwinm %0,%1,0,%m2,%M2")
(define_insn "andsi3_internal0_nomc"
[(set (match_operand:SI 0 "gpc_reg_operand" "=r,r")
@@ -2791,7 +2791,7 @@
"!rs6000_gen_cell_microcode"
"@
and %0,%1,%2
- {rlinm|rlwinm} %0,%1,0,%m2,%M2")
+ rlwinm %0,%1,0,%m2,%M2")
;; Note to set cr's other than cr0 we do the and immediate and then
@@ -2808,9 +2808,9 @@
"TARGET_32BIT && rs6000_gen_cell_microcode"
"@
and. %3,%1,%2
- {andil.|andi.} %3,%1,%b2
- {andiu.|andis.} %3,%1,%u2
- {rlinm.|rlwinm.} %3,%1,0,%m2,%M2
+ andi. %3,%1,%b2
+ andis. %3,%1,%u2
+ rlwinm. %3,%1,0,%m2,%M2
#
#
#
@@ -2829,9 +2829,9 @@
"TARGET_64BIT && rs6000_gen_cell_microcode"
"@
#
- {andil.|andi.} %3,%1,%b2
- {andiu.|andis.} %3,%1,%u2
- {rlinm.|rlwinm.} %3,%1,0,%m2,%M2
+ andi. %3,%1,%b2
+ andis. %3,%1,%u2
+ rlwinm. %3,%1,0,%m2,%M2
#
#
#
@@ -2889,9 +2889,9 @@
"TARGET_32BIT && rs6000_gen_cell_microcode"
"@
and. %0,%1,%2
- {andil.|andi.} %0,%1,%b2
- {andiu.|andis.} %0,%1,%u2
- {rlinm.|rlwinm.} %0,%1,0,%m2,%M2
+ andi. %0,%1,%b2
+ andis. %0,%1,%u2
+ rlwinm. %0,%1,0,%m2,%M2
#
#
#
@@ -2912,9 +2912,9 @@
"TARGET_64BIT && rs6000_gen_cell_microcode"
"@
#
- {andil.|andi.} %0,%1,%b2
- {andiu.|andis.} %0,%1,%u2
- {rlinm.|rlwinm.} %0,%1,0,%m2,%M2
+ andi. %0,%1,%b2
+ andis. %0,%1,%u2
+ rlwinm. %0,%1,0,%m2,%M2
#
#
#
@@ -3037,8 +3037,8 @@
""
"@
%q3 %0,%1,%2
- {%q3il|%q3i} %0,%1,%b2
- {%q3iu|%q3is} %0,%1,%u2")
+ %q3i %0,%1,%b2
+ %q3is %0,%1,%u2")
(define_insn "*boolsi3_internal2"
[(set (match_operand:CC 0 "cc_reg_operand" "=x,?y")
@@ -3292,7 +3292,7 @@
operands[4] = GEN_INT (32 - start - size);
operands[1] = GEN_INT (start + size - 1);
- return \"{rlimi|rlwimi} %0,%3,%h4,%h2,%h1\";
+ return \"rlwimi %0,%3,%h4,%h2,%h1\";
}"
[(set_attr "type" "insert_word")])
@@ -3311,7 +3311,7 @@
operands[4] = GEN_INT (shift - start - size);
operands[1] = GEN_INT (start + size - 1);
- return \"{rlimi|rlwimi} %0,%3,%h4,%h2,%h1\";
+ return \"rlwimi %0,%3,%h4,%h2,%h1\";
}"
[(set_attr "type" "insert_word")])
@@ -3330,7 +3330,7 @@
operands[4] = GEN_INT (32 - shift - start - size);
operands[1] = GEN_INT (start + size - 1);
- return \"{rlimi|rlwimi} %0,%3,%h4,%h2,%h1\";
+ return \"rlwimi %0,%3,%h4,%h2,%h1\";
}"
[(set_attr "type" "insert_word")])
@@ -3349,7 +3349,7 @@
operands[4] = GEN_INT (32 - shift - start - size);
operands[1] = GEN_INT (start + size - 1);
- return \"{rlimi|rlwimi} %0,%3,%h4,%h2,%h1\";
+ return \"rlwimi %0,%3,%h4,%h2,%h1\";
}"
[(set_attr "type" "insert_word")])
@@ -3371,7 +3371,7 @@
/* Align extract field with insert field */
operands[5] = GEN_INT (extract_start + extract_size - insert_start - insert_size);
operands[1] = GEN_INT (insert_start + insert_size - 1);
- return \"{rlimi|rlwimi} %0,%3,%h5,%h2,%h1\";
+ return \"rlwimi %0,%3,%h5,%h2,%h1\";
}"
[(set_attr "type" "insert_word")])
@@ -3391,7 +3391,7 @@
operands[4] = GEN_INT(32 - INTVAL(operands[2]));
operands[2] = GEN_INT(mb);
operands[1] = GEN_INT(me);
- return \"{rlimi|rlwimi} %0,%3,%h4,%h2,%h1\";
+ return \"rlwimi %0,%3,%h4,%h2,%h1\";
}"
[(set_attr "type" "insert_word")])
@@ -3410,7 +3410,7 @@
operands[4] = GEN_INT(32 - INTVAL(operands[2]));
operands[2] = GEN_INT(mb);
operands[1] = GEN_INT(me);
- return \"{rlimi|rlwimi} %0,%3,%h4,%h2,%h1\";
+ return \"rlwimi %0,%3,%h4,%h2,%h1\";
}"
[(set_attr "type" "insert_word")])
@@ -3507,7 +3507,7 @@
operands[3] = const0_rtx;
else
operands[3] = GEN_INT (start + size);
- return \"{rlinm|rlwinm} %0,%1,%3,%s2,31\";
+ return \"rlwinm %0,%1,%3,%s2,31\";
}")
(define_insn "*extzvsi_internal1"
@@ -3538,16 +3538,16 @@
operands[3] = GEN_INT (((1 << (16 - (start & 15)))
- (1 << (16 - (start & 15) - size))));
if (start < 16)
- return \"{andiu.|andis.} %4,%1,%3\";
+ return \"andis. %4,%1,%3\";
else
- return \"{andil.|andi.} %4,%1,%3\";
+ return \"andi. %4,%1,%3\";
}
if (start + size >= 32)
operands[3] = const0_rtx;
else
operands[3] = GEN_INT (start + size);
- return \"{rlinm.|rlwinm.} %4,%1,%3,%s2,31\";
+ return \"rlwinm. %4,%1,%3,%s2,31\";
}"
[(set_attr "type" "delayed_compare")
(set_attr "length" "4,8")])
@@ -3591,14 +3591,14 @@
if (start >= 16 && start + size == 32)
{
operands[3] = GEN_INT ((1 << size) - 1);
- return \"{andil.|andi.} %0,%1,%3\";
+ return \"andi. %0,%1,%3\";
}
if (start + size >= 32)
operands[3] = const0_rtx;
else
operands[3] = GEN_INT (start + size);
- return \"{rlinm.|rlwinm.} %0,%1,%3,%s2,31\";
+ return \"rlwinm. %0,%1,%3,%s2,31\";
}"
[(set_attr "type" "delayed_compare")
(set_attr "length" "4,8")])
@@ -3689,8 +3689,8 @@
(match_operand:SI 2 "reg_or_cint_operand" "r,i")))]
""
"@
- {rlnm|rlwnm} %0,%1,%2,0xffffffff
- {rlinm|rlwinm} %0,%1,%h2,0xffffffff"
+ rlwnm %0,%1,%2,0xffffffff
+ rlwinm %0,%1,%h2,0xffffffff"
[(set_attr "type" "var_shift_rotate,integer")])
(define_insn "*rotlsi3_64"
@@ -3700,8 +3700,8 @@
(match_operand:SI 2 "reg_or_cint_operand" "r,i"))))]
"TARGET_64BIT"
"@
- {rlnm|rlwnm} %0,%1,%2,0xffffffff
- {rlinm|rlwinm} %0,%1,%h2,0xffffffff"
+ rlwnm %0,%1,%2,0xffffffff
+ rlwinm %0,%1,%h2,0xffffffff"
[(set_attr "type" "var_shift_rotate,integer")])
(define_insn "*rotlsi3_internal2"
@@ -3712,8 +3712,8 @@
(clobber (match_scratch:SI 3 "=r,r,r,r"))]
""
"@
- {rlnm.|rlwnm.} %3,%1,%2,0xffffffff
- {rlinm.|rlwinm.} %3,%1,%h2,0xffffffff
+ rlwnm. %3,%1,%2,0xffffffff
+ rlwinm. %3,%1,%h2,0xffffffff
#
#"
[(set_attr "type" "var_delayed_compare,delayed_compare,var_delayed_compare,delayed_compare")
@@ -3742,8 +3742,8 @@
(rotate:SI (match_dup 1) (match_dup 2)))]
""
"@
- {rlnm.|rlwnm.} %0,%1,%2,0xffffffff
- {rlinm.|rlwinm.} %0,%1,%h2,0xffffffff
+ rlwnm. %0,%1,%2,0xffffffff
+ rlwinm. %0,%1,%h2,0xffffffff
#
#"
[(set_attr "type" "var_delayed_compare,delayed_compare,var_delayed_compare,delayed_compare")
@@ -3771,8 +3771,8 @@
(match_operand:SI 3 "mask_operand" "n,n")))]
""
"@
- {rlnm|rlwnm} %0,%1,%2,%m3,%M3
- {rlinm|rlwinm} %0,%1,%h2,%m3,%M3"
+ rlwnm %0,%1,%2,%m3,%M3
+ rlwinm %0,%1,%h2,%m3,%M3"
[(set_attr "type" "var_shift_rotate,integer")])
(define_insn "*rotlsi3_internal5"
@@ -3785,8 +3785,8 @@
(clobber (match_scratch:SI 4 "=r,r,r,r"))]
""
"@
- {rlnm.|rlwnm.} %4,%1,%2,%m3,%M3
- {rlinm.|rlwinm.} %4,%1,%h2,%m3,%M3
+ rlwnm. %4,%1,%2,%m3,%M3
+ rlwinm. %4,%1,%h2,%m3,%M3
#
#"
[(set_attr "type" "var_delayed_compare,delayed_compare,var_delayed_compare,delayed_compare")
@@ -3821,8 +3821,8 @@
(and:SI (rotate:SI (match_dup 1) (match_dup 2)) (match_dup 3)))]
""
"@
- {rlnm.|rlwnm.} %0,%1,%2,%m3,%M3
- {rlinm.|rlwinm.} %0,%1,%h2,%m3,%M3
+ rlwnm. %0,%1,%2,%m3,%M3
+ rlwinm. %0,%1,%h2,%m3,%M3
#
#"
[(set_attr "type" "var_delayed_compare,delayed_compare,var_delayed_compare,delayed_compare")
@@ -3852,7 +3852,7 @@
(rotate:SI (match_operand:SI 1 "gpc_reg_operand" "r")
(match_operand:SI 2 "reg_or_cint_operand" "ri")) 0)))]
""
- "{rl%I2nm|rlw%I2nm} %0,%1,%h2,0xff"
+ "rlw%I2nm %0,%1,%h2,0xff"
[(set (attr "cell_micro")
(if_then_else (match_operand:SI 2 "const_int_operand" "")
(const_string "not")
@@ -3868,8 +3868,8 @@
(clobber (match_scratch:SI 3 "=r,r,r,r"))]
""
"@
- {rlnm.|rlwnm.} %3,%1,%2,0xff
- {rlinm.|rlwinm.} %3,%1,%h2,0xff
+ rlwnm. %3,%1,%2,0xff
+ rlwinm. %3,%1,%h2,0xff
#
#"
[(set_attr "type" "var_delayed_compare,delayed_compare,var_delayed_compare,delayed_compare")
@@ -3904,8 +3904,8 @@
(zero_extend:SI (subreg:QI (rotate:SI (match_dup 1) (match_dup 2)) 0)))]
""
"@
- {rlnm.|rlwnm.} %0,%1,%2,0xff
- {rlinm.|rlwinm.} %0,%1,%h2,0xff
+ rlwnm. %0,%1,%2,0xff
+ rlwinm. %0,%1,%h2,0xff
#
#"
[(set_attr "type" "var_delayed_compare,delayed_compare,var_delayed_compare,delayed_compare")
@@ -3936,8 +3936,8 @@
(match_operand:SI 2 "reg_or_cint_operand" "r,i")) 0)))]
""
"@
- {rlnm|rlwnm} %0,%1,%2,0xffff
- {rlinm|rlwinm} %0,%1,%h2,0xffff"
+ rlwnm %0,%1,%2,0xffff
+ rlwinm %0,%1,%h2,0xffff"
[(set_attr "type" "var_shift_rotate,integer")])
@@ -3951,8 +3951,8 @@
(clobber (match_scratch:SI 3 "=r,r,r,r"))]
""
"@
- {rlnm.|rlwnm.} %3,%1,%2,0xffff
- {rlinm.|rlwinm.} %3,%1,%h2,0xffff
+ rlwnm. %3,%1,%2,0xffff
+ rlwinm. %3,%1,%h2,0xffff
#
#"
[(set_attr "type" "var_delayed_compare,delayed_compare,var_delayed_compare,delayed_compare")
@@ -3987,8 +3987,8 @@
(zero_extend:SI (subreg:HI (rotate:SI (match_dup 1) (match_dup 2)) 0)))]
""
"@
- {rlnm.|rlwnm.} %0,%1,%2,0xffff
- {rlinm.|rlwinm.} %0,%1,%h2,0xffff
+ rlwnm. %0,%1,%2,0xffff
+ rlwinm. %0,%1,%h2,0xffff
#
#"
[(set_attr "type" "var_delayed_compare,delayed_compare,var_delayed_compare,delayed_compare")
@@ -4017,8 +4017,8 @@
(match_operand:SI 2 "reg_or_cint_operand" "r,i")))]
""
"@
- {sl|slw} %0,%1,%2
- {sli|slwi} %0,%1,%h2"
+ slw %0,%1,%2
+ slwi %0,%1,%h2"
[(set_attr "type" "var_shift_rotate,shift")])
(define_insn "*ashlsi3_64"
@@ -4028,8 +4028,8 @@
(match_operand:SI 2 "reg_or_cint_operand" "r,i"))))]
"TARGET_POWERPC64"
"@
- {sl|slw} %0,%1,%2
- {sli|slwi} %0,%1,%h2"
+ slw %0,%1,%2
+ slwi %0,%1,%h2"
[(set_attr "type" "var_shift_rotate,shift")])
(define_insn ""
@@ -4040,8 +4040,8 @@
(clobber (match_scratch:SI 3 "=r,r,r,r"))]
"TARGET_32BIT"
"@
- {sl.|slw.} %3,%1,%2
- {sli.|slwi.} %3,%1,%h2
+ slw. %3,%1,%2
+ slwi. %3,%1,%h2
#
#"
[(set_attr "type" "var_delayed_compare,delayed_compare,var_delayed_compare,delayed_compare")
@@ -4070,8 +4070,8 @@
(ashift:SI (match_dup 1) (match_dup 2)))]
"TARGET_32BIT"
"@
- {sl.|slw.} %0,%1,%2
- {sli.|slwi.} %0,%1,%h2
+ slw. %0,%1,%2
+ slwi. %0,%1,%h2
#
#"
[(set_attr "type" "var_delayed_compare,delayed_compare,var_delayed_compare,delayed_compare")
@@ -4098,7 +4098,7 @@
(match_operand:SI 2 "const_int_operand" "i"))
(match_operand:SI 3 "mask_operand" "n")))]
"includes_lshift_p (operands[2], operands[3])"
- "{rlinm|rlwinm} %0,%1,%h2,%m3,%M3")
+ "rlwinm %0,%1,%h2,%m3,%M3")
(define_insn ""
[(set (match_operand:CC 0 "cc_reg_operand" "=x,?y")
@@ -4110,7 +4110,7 @@
(clobber (match_scratch:SI 4 "=r,r"))]
"includes_lshift_p (operands[2], operands[3])"
"@
- {rlinm.|rlwinm.} %4,%1,%h2,%m3,%M3
+ rlwinm. %4,%1,%h2,%m3,%M3
#"
[(set_attr "type" "delayed_compare")
(set_attr "length" "4,8")])
@@ -4143,7 +4143,7 @@
(and:SI (ashift:SI (match_dup 1) (match_dup 2)) (match_dup 3)))]
"includes_lshift_p (operands[2], operands[3])"
"@
- {rlinm.|rlwinm.} %0,%1,%h2,%m3,%M3
+ rlwinm. %0,%1,%h2,%m3,%M3
#"
[(set_attr "type" "delayed_compare")
(set_attr "length" "4,8")])
@@ -4172,8 +4172,8 @@
""
"@
mr %0,%1
- {sr|srw} %0,%1,%2
- {sri|srwi} %0,%1,%h2"
+ srw %0,%1,%2
+ srwi %0,%1,%h2"
[(set_attr "type" "integer,var_shift_rotate,shift")])
(define_insn "*lshrsi3_64"
@@ -4183,8 +4183,8 @@
(match_operand:SI 2 "reg_or_cint_operand" "r,i"))))]
"TARGET_POWERPC64"
"@
- {sr|srw} %0,%1,%2
- {sri|srwi} %0,%1,%h2"
+ srw %0,%1,%2
+ srwi %0,%1,%h2"
[(set_attr "type" "var_shift_rotate,shift")])
(define_insn ""
@@ -4196,8 +4196,8 @@
"TARGET_32BIT"
"@
mr. %1,%1
- {sr.|srw.} %3,%1,%2
- {sri.|srwi.} %3,%1,%h2
+ srw. %3,%1,%2
+ srwi. %3,%1,%h2
#
#
#"
@@ -4228,8 +4228,8 @@
"TARGET_32BIT"
"@
mr. %0,%1
- {sr.|srw.} %0,%1,%2
- {sri.|srwi.} %0,%1,%h2
+ srw. %0,%1,%2
+ srwi. %0,%1,%h2
#
#
#"
@@ -4257,7 +4257,7 @@
(match_operand:SI 2 "const_int_operand" "i"))
(match_operand:SI 3 "mask_operand" "n")))]
"includes_rshift_p (operands[2], operands[3])"
- "{rlinm|rlwinm} %0,%1,%s2,%m3,%M3")
+ "rlwinm %0,%1,%s2,%m3,%M3")
(define_insn ""
[(set (match_operand:CC 0 "cc_reg_operand" "=x,?y")
@@ -4269,7 +4269,7 @@
(clobber (match_scratch:SI 4 "=r,r"))]
"includes_rshift_p (operands[2], operands[3])"
"@
- {rlinm.|rlwinm.} %4,%1,%s2,%m3,%M3
+ rlwinm. %4,%1,%s2,%m3,%M3
#"
[(set_attr "type" "delayed_compare")
(set_attr "length" "4,8")])
@@ -4302,7 +4302,7 @@
(and:SI (lshiftrt:SI (match_dup 1) (match_dup 2)) (match_dup 3)))]
"includes_rshift_p (operands[2], operands[3])"
"@
- {rlinm.|rlwinm.} %0,%1,%s2,%m3,%M3
+ rlwinm. %0,%1,%s2,%m3,%M3
#"
[(set_attr "type" "delayed_compare")
(set_attr "length" "4,8")])
@@ -4331,7 +4331,7 @@
(lshiftrt:SI (match_operand:SI 1 "gpc_reg_operand" "r")
(match_operand:SI 2 "const_int_operand" "i")) 0)))]
"includes_rshift_p (operands[2], GEN_INT (255))"
- "{rlinm|rlwinm} %0,%1,%s2,0xff")
+ "rlwinm %0,%1,%s2,0xff")
(define_insn ""
[(set (match_operand:CC 0 "cc_reg_operand" "=x,?y")
@@ -4344,7 +4344,7 @@
(clobber (match_scratch:SI 3 "=r,r"))]
"includes_rshift_p (operands[2], GEN_INT (255))"
"@
- {rlinm.|rlwinm.} %3,%1,%s2,0xff
+ rlwinm. %3,%1,%s2,0xff
#"
[(set_attr "type" "delayed_compare")
(set_attr "length" "4,8")])
@@ -4380,7 +4380,7 @@
(zero_extend:SI (subreg:QI (lshiftrt:SI (match_dup 1) (match_dup 2)) 0)))]
"includes_rshift_p (operands[2], GEN_INT (255))"
"@
- {rlinm.|rlwinm.} %0,%1,%s2,0xff
+ rlwinm. %0,%1,%s2,0xff
#"
[(set_attr "type" "delayed_compare")
(set_attr "length" "4,8")])
@@ -4410,7 +4410,7 @@
(lshiftrt:SI (match_operand:SI 1 "gpc_reg_operand" "r")
(match_operand:SI 2 "const_int_operand" "i")) 0)))]
"includes_rshift_p (operands[2], GEN_INT (65535))"
- "{rlinm|rlwinm} %0,%1,%s2,0xffff")
+ "rlwinm %0,%1,%s2,0xffff")
(define_insn ""
[(set (match_operand:CC 0 "cc_reg_operand" "=x,?y")
@@ -4423,7 +4423,7 @@
(clobber (match_scratch:SI 3 "=r,r"))]
"includes_rshift_p (operands[2], GEN_INT (65535))"
"@
- {rlinm.|rlwinm.} %3,%1,%s2,0xffff
+ rlwinm. %3,%1,%s2,0xffff
#"
[(set_attr "type" "delayed_compare")
(set_attr "length" "4,8")])
@@ -4459,7 +4459,7 @@
(zero_extend:SI (subreg:HI (lshiftrt:SI (match_dup 1) (match_dup 2)) 0)))]
"includes_rshift_p (operands[2], GEN_INT (65535))"
"@
- {rlinm.|rlwinm.} %0,%1,%s2,0xffff
+ rlwinm. %0,%1,%s2,0xffff
#"
[(set_attr "type" "delayed_compare")
(set_attr "length" "4,8")])
@@ -4488,8 +4488,8 @@
(match_operand:SI 2 "reg_or_cint_operand" "r,i")))]
""
"@
- {sra|sraw} %0,%1,%2
- {srai|srawi} %0,%1,%h2"
+ sraw %0,%1,%2
+ srawi %0,%1,%h2"
[(set_attr "type" "var_shift_rotate,shift")])
(define_insn "*ashrsi3_64"
@@ -4499,8 +4499,8 @@
(match_operand:SI 2 "reg_or_cint_operand" "r,i"))))]
"TARGET_POWERPC64"
"@
- {sra|sraw} %0,%1,%2
- {srai|srawi} %0,%1,%h2"
+ sraw %0,%1,%2
+ srawi %0,%1,%h2"
[(set_attr "type" "var_shift_rotate,shift")])
(define_insn ""
@@ -4511,8 +4511,8 @@
(clobber (match_scratch:SI 3 "=r,r,r,r"))]
""
"@
- {sra.|sraw.} %3,%1,%2
- {srai.|srawi.} %3,%1,%h2
+ sraw. %3,%1,%2
+ srawi. %3,%1,%h2
#
#"
[(set_attr "type" "var_delayed_compare,delayed_compare,var_delayed_compare,delayed_compare")
@@ -4541,8 +4541,8 @@
(ashiftrt:SI (match_dup 1) (match_dup 2)))]
""
"@
- {sra.|sraw.} %0,%1,%2
- {srai.|srawi.} %0,%1,%h2
+ sraw. %0,%1,%2
+ srawi. %0,%1,%h2
#
#"
[(set_attr "type" "var_delayed_compare,delayed_compare,var_delayed_compare,delayed_compare")
@@ -5065,7 +5065,7 @@
(match_operand:DF 2 "gpc_reg_operand" "d")))]
"TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT
&& !VECTOR_UNIT_VSX_P (DFmode)"
- "{fa|fadd} %0,%1,%2"
+ "fadd %0,%1,%2"
[(set_attr "type" "fp")
(set_attr "fp_type" "fp_addsub_d")])
@@ -5082,7 +5082,7 @@
(match_operand:DF 2 "gpc_reg_operand" "d")))]
"TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT
&& !VECTOR_UNIT_VSX_P (DFmode)"
- "{fs|fsub} %0,%1,%2"
+ "fsub %0,%1,%2"
[(set_attr "type" "fp")
(set_attr "fp_type" "fp_addsub_d")])
@@ -5099,7 +5099,7 @@
(match_operand:DF 2 "gpc_reg_operand" "d")))]
"TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT
&& !VECTOR_UNIT_VSX_P (DFmode)"
- "{fm|fmul} %0,%1,%2"
+ "fmul %0,%1,%2"
[(set_attr "type" "dmul")
(set_attr "fp_type" "fp_mul_d")])
@@ -5118,7 +5118,7 @@
(match_operand:DF 2 "gpc_reg_operand" "d")))]
"TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT && !TARGET_SIMPLE_FPU
&& !VECTOR_UNIT_VSX_P (DFmode)"
- "{fd|fdiv} %0,%1,%2"
+ "fdiv %0,%1,%2"
[(set_attr "type" "ddiv")])
(define_insn "*fred_fpr"
@@ -5144,7 +5144,7 @@
(match_operand:DF 3 "gpc_reg_operand" "f")))]
"TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT
&& VECTOR_UNIT_NONE_P (DFmode)"
- "{fma|fmadd} %0,%1,%2,%3"
+ "fmadd %0,%1,%2,%3"
[(set_attr "type" "fp")
(set_attr "fp_type" "fp_maddsub_d")])
@@ -5155,7 +5155,7 @@
(neg:DF (match_operand:DF 3 "gpc_reg_operand" "f"))))]
"TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT
&& VECTOR_UNIT_NONE_P (DFmode)"
- "{fms|fmsub} %0,%1,%2,%3"
+ "fmsub %0,%1,%2,%3"
[(set_attr "type" "fp")
(set_attr "fp_type" "fp_maddsub_d")])
@@ -5166,7 +5166,7 @@
(match_operand:DF 3 "gpc_reg_operand" "f"))))]
"TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT
&& VECTOR_UNIT_NONE_P (DFmode)"
- "{fnma|fnmadd} %0,%1,%2,%3"
+ "fnmadd %0,%1,%2,%3"
[(set_attr "type" "fp")
(set_attr "fp_type" "fp_maddsub_d")])
@@ -5177,7 +5177,7 @@
(neg:DF (match_operand:DF 3 "gpc_reg_operand" "f")))))]
"TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT
&& VECTOR_UNIT_NONE_P (DFmode)"
- "{fnms|fnmsub} %0,%1,%2,%3"
+ "fnmsub %0,%1,%2,%3"
[(set_attr "type" "fp")
(set_attr "fp_type" "fp_maddsub_d")])
@@ -5794,7 +5794,7 @@
(unspec:DI [(fix:SI (match_operand:SFDF 1 "gpc_reg_operand" "d"))]
UNSPEC_FCTIWZ))]
"TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT"
- "{fcirz|fctiwz} %0,%1"
+ "fctiwz %0,%1"
[(set_attr "type" "fp")])
(define_insn "fctiwuz_<mode>"
@@ -6211,12 +6211,12 @@
{
if (WORDS_BIG_ENDIAN)
return (GET_CODE (operands[2])) != CONST_INT
- ? \"{a|addc} %L0,%L1,%L2\;{ae|adde} %0,%1,%2\"
- : \"{ai|addic} %L0,%L1,%2\;{a%G2e|add%G2e} %0,%1\";
+ ? \"addc %L0,%L1,%L2\;adde %0,%1,%2\"
+ : \"addic %L0,%L1,%2\;add%G2e %0,%1\";
else
return (GET_CODE (operands[2])) != CONST_INT
- ? \"{a|addc} %0,%1,%2\;{ae|adde} %L0,%L1,%L2\"
- : \"{ai|addic} %0,%1,%2\;{a%G2e|add%G2e} %L0,%L1\";
+ ? \"addc %0,%1,%2\;adde %L0,%L1,%L2\"
+ : \"addic %0,%1,%2\;add%G2e %L0,%L1\";
}"
[(set_attr "type" "two")
(set_attr "length" "8")])
@@ -6230,12 +6230,12 @@
{
if (WORDS_BIG_ENDIAN)
return (GET_CODE (operands[1]) != CONST_INT)
- ? \"{sf|subfc} %L0,%L2,%L1\;{sfe|subfe} %0,%2,%1\"
- : \"{sfi|subfic} %L0,%L2,%1\;{sf%G1e|subf%G1e} %0,%2\";
+ ? \"subfc %L0,%L2,%L1\;subfe %0,%2,%1\"
+ : \"subfic %L0,%L2,%1\;subf%G1e %0,%2\";
else
return (GET_CODE (operands[1]) != CONST_INT)
- ? \"{sf|subfc} %0,%2,%1\;{sfe|subfe} %L0,%L2,%L1\"
- : \"{sfi|subfic} %0,%2,%1\;{sf%G1e|subf%G1e} %L0,%L2\";
+ ? \"subfc %0,%2,%1\;subfe %L0,%L2,%L1\"
+ : \"subfic %0,%2,%1\;subf%G1e %L0,%L2\";
}"
[(set_attr "type" "two")
(set_attr "length" "8")])
@@ -6247,8 +6247,8 @@
"*
{
return (WORDS_BIG_ENDIAN)
- ? \"{sfi|subfic} %L0,%L1,0\;{sfze|subfze} %0,%1\"
- : \"{sfi|subfic} %0,%1,0\;{sfze|subfze} %L0,%L1\";
+ ? \"subfic %L0,%L1,0\;subfze %0,%1\"
+ : \"subfic %0,%1,0\;subfze %L0,%L1\";
}"
[(set_attr "type" "two")
(set_attr "length" "8")])
@@ -6352,8 +6352,8 @@
(match_operand:SI 2 "const_int_operand" "M,i")))]
"TARGET_32BIT && !TARGET_POWERPC64 && WORDS_BIG_ENDIAN"
"@
- {srai|srawi} %0,%1,31\;{srai|srawi} %L0,%1,%h2
- {sri|srwi} %L0,%L1,%h2\;insrwi %L0,%1,%h2,0\;{srai|srawi} %0,%1,%h2"
+ srawi %0,%1,31\;srawi %L0,%1,%h2
+ srwi %L0,%L1,%h2\;insrwi %L0,%1,%h2,0\;srawi %0,%1,%h2"
[(set_attr "type" "two,three")
(set_attr "length" "8,12")])
@@ -7869,7 +7869,7 @@
(match_operand:SI 2 "gpc_reg_operand" "b")]
UNSPEC_MOVSI_GOT))]
"DEFAULT_ABI == ABI_V4 && flag_pic == 1"
- "{l|lwz} %0,%a1@got(%2)"
+ "lwz %0,%a1@got(%2)"
[(set_attr "type" "load")])
;; Used by sched, shorten_branches and final when the GOT pseudo reg
@@ -7896,7 +7896,7 @@
(mem:SI (lo_sum:SI (match_operand:SI 1 "gpc_reg_operand" "b")
(match_operand 2 "" ""))))]
"TARGET_MACHO && ! TARGET_64BIT"
- "{l|lwz} %0,lo16(%2)(%1)"
+ "lwz %0,lo16(%2)(%1)"
[(set_attr "type" "load")
(set_attr "length" "4")])
@@ -7907,16 +7907,16 @@
(gpc_reg_operand (operands[0], SImode) || gpc_reg_operand (operands[1], SImode))"
"@
mr %0,%1
- {cal|la} %0,%a1
- {l%U1%X1|lwz%U1%X1} %0,%1
- {st%U0%X0|stw%U0%X0} %1,%0
- {lil|li} %0,%1
- {liu|lis} %0,%v1
+ la %0,%a1
+ lwz%U1%X1 %0,%1
+ stw%U0%X0 %1,%0
+ li %0,%1
+ lis %0,%v1
#
mf%1 %0
mt%0 %1
mt%0 %1
- {cror 0,0,0|nop}"
+ nop"
[(set_attr "type" "*,*,load,store,*,*,*,mfjmpr,mtjmpr,*,*")
(set_attr "length" "4,4,4,4,4,4,8,4,4,4,4")])
@@ -7927,16 +7927,16 @@
(gpc_reg_operand (operands[0], SImode) || gpc_reg_operand (operands[1], SImode))"
"@
mr %0,%1
- {cal|la} %0,%a1
- {l%U1%X1|lwz%U1%X1} %0,%1
- {st%U0%X0|stw%U0%X0} %1,%0
- {lil|li} %0,%1
- {liu|lis} %0,%v1
+ la %0,%a1
+ lwz%U1%X1 %0,%1
+ stw%U0%X0 %1,%0
+ li %0,%1
+ lis %0,%v1
#
mf%1 %0
mt%0 %1
mt%0 %1
- {cror 0,0,0|nop}
+ nop
stfs%U0%X0 %1, %0
lfs%U1%X1 %0, %1"
[(set_attr "type" "*,*,load,store,*,*,*,mfjmpr,mtjmpr,*,*,*,*")
@@ -7971,7 +7971,7 @@
(set (match_operand:P 0 "gpc_reg_operand" "=r,r,r") (match_dup 1))]
""
"@
- {cmpi|cmp<wd>i} %2,%0,0
+ cmp<wd>i %2,%0,0
mr. %0,%1
#"
[(set_attr "type" "cmp,compare,cmp")
@@ -7998,10 +7998,10 @@
mr %0,%1
lhz%U1%X1 %0,%1
sth%U0%X0 %1,%0
- {lil|li} %0,%w1
+ li %0,%w1
mf%1 %0
mt%0 %1
- {cror 0,0,0|nop}"
+ nop"
[(set_attr "type" "*,load,store,*,mfjmpr,mtjmpr,*")])
(define_expand "mov<mode>"
@@ -8019,10 +8019,10 @@
mr %0,%1
lbz%U1%X1 %0,%1
stb%U0%X0 %1,%0
- {lil|li} %0,%1
+ li %0,%1
mf%1 %0
mt%0 %1
- {cror 0,0,0|nop}"
+ nop"
[(set_attr "type" "*,load,store,*,mfjmpr,mtjmpr,*")])
;; Here is how to move condition codes around. When we store CC data in
@@ -8042,16 +8042,16 @@
"@
mcrf %0,%1
mtcrf 128,%1
- {rlinm|rlwinm} %1,%1,%F0,0xffffffff\;mtcrf %R0,%1\;{rlinm|rlwinm} %1,%1,%f0,0xffffffff
+ rlwinm %1,%1,%F0,0xffffffff\;mtcrf %R0,%1\;rlwinm %1,%1,%f0,0xffffffff
crxor %0,%0,%0
mfcr %0%Q1
- mfcr %0%Q1\;{rlinm|rlwinm} %0,%0,%f1,0xf0000000
+ mfcr %0%Q1\;rlwinm %0,%0,%f1,0xf0000000
mr %0,%1
- {lil|li} %0,%1
+ li %0,%1
mf%1 %0
mt%0 %1
- {l%U1%X1|lwz%U1%X1} %0,%1
- {st%U0%U1|stw%U0%U1} %1,%0"
+ lwz%U1%X1 %0,%1
+ stw%U0%U1 %1,%0"
[(set (attr "type")
(cond [(eq_attr "alternative" "0,3")
(const_string "cr_logical")
@@ -8117,14 +8117,14 @@
&& (TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_SINGLE_FLOAT)"
"@
mr %0,%1
- {l%U1%X1|lwz%U1%X1} %0,%1
- {st%U0%X0|stw%U0%X0} %1,%0
+ lwz%U1%X1 %0,%1
+ stw%U0%X0 %1,%0
fmr %0,%1
lfs%U1%X1 %0,%1
stfs%U0%X0 %1,%0
mt%0 %1
mf%1 %0
- {cror 0,0,0|nop}
+ nop
#
#"
[(set_attr "type" "*,load,store,fp,fpload,fpstore,mtjmpr,mfjmpr,*,*,*")
@@ -8140,13 +8140,13 @@
mr %0,%1
mt%0 %1
mf%1 %0
- {l%U1%X1|lwz%U1%X1} %0,%1
- {st%U0%X0|stw%U0%X0} %1,%0
- {lil|li} %0,%1
- {liu|lis} %0,%v1
+ lwz%U1%X1 %0,%1
+ stw%U0%X0 %1,%0
+ li %0,%1
+ lis %0,%v1
#
#
- {cror 0,0,0|nop}"
+ nop"
[(set_attr "type" "*,mtjmpr,mfjmpr,load,store,*,*,*,*,*")
(set_attr "length" "4,4,4,4,4,4,4,4,8,4")])
@@ -8344,7 +8344,7 @@
xxlxor %x0,%x0,%x0
mt%0 %1
mf%1 %0
- {cror 0,0,0|nop}
+ nop
#
#
#
@@ -8378,7 +8378,7 @@
xxlxor %x0,%x0,%x0
mt%0 %1
mf%1 %0
- {cror 0,0,0|nop}
+ nop
#
#
#"
@@ -8400,7 +8400,7 @@
#
#
#
- {cror 0,0,0|nop}"
+ nop"
[(set_attr "type" "store,load,*,mtjmpr,mfjmpr,*,*,*,*")
(set_attr "length" "4,4,4,4,4,8,12,16,4")])
@@ -8789,7 +8789,7 @@
fmr %0,%1
mf%1 %0
mt%0 %1
- {cror 0,0,0|nop}
+ nop
mftgpr %0,%1
mffgpr %0,%1"
[(set_attr "type" "store,load,*,*,*,*,fpstore,fpload,fp,mfjmpr,mtjmpr,*,mftgpr,mffgpr")
@@ -8813,7 +8813,7 @@
fmr %0,%1
mf%1 %0
mt%0 %1
- {cror 0,0,0|nop}
+ nop
xxlxor %x0,%x0,%x0"
[(set_attr "type" "store,load,*,*,*,*,fpstore,fpload,fp,mfjmpr,mtjmpr,*,vecsimple")
(set_attr "length" "4,4,4,4,4,20,4,4,4,4,4,4,4")])
@@ -8895,7 +8895,7 @@
gcc_unreachable ();
case 0:
if (TARGET_STRING)
- return \"{stsi|stswi} %1,%P0,16\";
+ return \"stswi %1,%P0,16\";
case 1:
return \"#\";
case 2:
@@ -8903,7 +8903,7 @@
fall through to generating four loads. */
if (TARGET_STRING
&& ! reg_overlap_mentioned_p (operands[0], operands[1]))
- return \"{lsi|lswi} %0,%P1,16\";
+ return \"lswi %0,%P1,16\";
/* ... fall through ... */
case 3:
case 4:
@@ -9173,7 +9173,7 @@
(set (mem:SI (plus:SI (match_dup 1) (const_int 28)))
(match_operand:SI 10 "gpc_reg_operand" "r"))])]
"TARGET_STRING && XVECLEN (operands[0], 0) == 9"
- "{stsi|stswi} %2,%1,%O0"
+ "stswi %2,%1,%O0"
[(set_attr "type" "store_ux")
(set_attr "cell_micro" "always")])
@@ -9195,7 +9195,7 @@
(set (mem:SI (plus:SI (match_dup 1) (const_int 24)))
(match_operand:SI 9 "gpc_reg_operand" "r"))])]
"TARGET_STRING && XVECLEN (operands[0], 0) == 8"
- "{stsi|stswi} %2,%1,%O0"
+ "stswi %2,%1,%O0"
[(set_attr "type" "store_ux")
(set_attr "cell_micro" "always")])
@@ -9215,7 +9215,7 @@
(set (mem:SI (plus:SI (match_dup 1) (const_int 20)))
(match_operand:SI 8 "gpc_reg_operand" "r"))])]
"TARGET_STRING && XVECLEN (operands[0], 0) == 7"
- "{stsi|stswi} %2,%1,%O0"
+ "stswi %2,%1,%O0"
[(set_attr "type" "store_ux")
(set_attr "cell_micro" "always")])
@@ -9233,7 +9233,7 @@
(set (mem:SI (plus:SI (match_dup 1) (const_int 16)))
(match_operand:SI 7 "gpc_reg_operand" "r"))])]
"TARGET_STRING && XVECLEN (operands[0], 0) == 6"
- "{stsi|stswi} %2,%1,%O0"
+ "stswi %2,%1,%O0"
[(set_attr "type" "store_ux")
(set_attr "cell_micro" "always")])
@@ -9249,7 +9249,7 @@
(set (mem:SI (plus:SI (match_dup 1) (const_int 12)))
(match_operand:SI 6 "gpc_reg_operand" "r"))])]
"TARGET_STRING && XVECLEN (operands[0], 0) == 5"
- "{stsi|stswi} %2,%1,%O0"
+ "stswi %2,%1,%O0"
[(set_attr "type" "store_ux")
(set_attr "cell_micro" "always")])
@@ -9263,7 +9263,7 @@
(set (mem:SI (plus:SI (match_dup 1) (const_int 8)))
(match_operand:SI 5 "gpc_reg_operand" "r"))])]
"TARGET_STRING && XVECLEN (operands[0], 0) == 4"
- "{stsi|stswi} %2,%1,%O0"
+ "stswi %2,%1,%O0"
[(set_attr "type" "store_ux")
(set_attr "cell_micro" "always")])
@@ -9345,7 +9345,7 @@
&& (REGNO (operands[0]) < 5 || REGNO (operands[0]) > 12)
&& (REGNO (operands[1]) < 5 || REGNO (operands[1]) > 12)
&& REGNO (operands[4]) == 5"
- "{lsi|lswi} %4,%1,%2\;{stsi|stswi} %4,%0,%2"
+ "lswi %4,%1,%2\;stswi %4,%0,%2"
[(set_attr "type" "store_ux")
(set_attr "cell_micro" "always")
(set_attr "length" "8")])
@@ -9385,7 +9385,7 @@
&& (REGNO (operands[0]) < 5 || REGNO (operands[0]) > 10)
&& (REGNO (operands[1]) < 5 || REGNO (operands[1]) > 10)
&& REGNO (operands[4]) == 5"
- "{lsi|lswi} %4,%1,%2\;{stsi|stswi} %4,%0,%2"
+ "lswi %4,%1,%2\;stswi %4,%0,%2"
[(set_attr "type" "store_ux")
(set_attr "cell_micro" "always")
(set_attr "length" "8")])
@@ -9421,7 +9421,7 @@
&& (REGNO (operands[0]) < 5 || REGNO (operands[0]) > 8)
&& (REGNO (operands[1]) < 5 || REGNO (operands[1]) > 8)
&& REGNO (operands[4]) == 5"
- "{lsi|lswi} %4,%1,%2\;{stsi|stswi} %4,%0,%2"
+ "lswi %4,%1,%2\;stswi %4,%0,%2"
[(set_attr "type" "store_ux")
(set_attr "cell_micro" "always")
(set_attr "length" "8")])
@@ -9446,7 +9446,7 @@
(clobber (match_scratch:SI 5 "=X"))]
"TARGET_STRING && ! TARGET_POWERPC64
&& INTVAL (operands[2]) > 4 && INTVAL (operands[2]) <= 8"
- "{lsi|lswi} %4,%1,%2\;{stsi|stswi} %4,%0,%2"
+ "lswi %4,%1,%2\;stswi %4,%0,%2"
[(set_attr "type" "store_ux")
(set_attr "cell_micro" "always")
(set_attr "length" "8")])
@@ -9470,7 +9470,7 @@
(clobber (match_scratch:SI 4 "=&r"))
(clobber (match_scratch:SI 5 "=X"))]
"TARGET_STRING && INTVAL (operands[2]) > 0 && INTVAL (operands[2]) <= 4"
- "{lsi|lswi} %4,%1,%2\;{stsi|stswi} %4,%0,%2"
+ "lswi %4,%1,%2\;stswi %4,%0,%2"
[(set_attr "type" "store_ux")
(set_attr "cell_micro" "always")
(set_attr "length" "8")])
@@ -9538,8 +9538,8 @@
&& (!avoiding_indexed_address_p (SImode)
|| !gpc_reg_operand (operands[2], SImode))"
"@
- {lux|lwzux} %3,%0,%2
- {lu|lwzu} %3,%2(%0)"
+ lwzux %3,%0,%2
+ lwzu %3,%2(%0)"
[(set_attr "type" "load_ux,load_u")])
(define_insn "*movsi_update2"
@@ -9566,8 +9566,8 @@
|| (REG_P (operands[0])
&& REGNO (operands[0]) == STACK_POINTER_REGNUM))"
"@
- {stux|stwux} %3,%0,%2
- {stu|stwu} %3,%2(%0)"
+ stwux %3,%0,%2
+ stwu %3,%2(%0)"
[(set_attr "type" "store_ux,store_u")])
;; This is an unconditional pattern; needed for stack allocation, even
@@ -9580,8 +9580,8 @@
(plus:SI (match_dup 1) (match_dup 2)))]
""
"@
- {stux|stwux} %3,%0,%2
- {stu|stwu} %3,%2(%0)"
+ stwux %3,%0,%2
+ stwu %3,%2(%0)"
[(set_attr "type" "store_ux,store_u")])
(define_insn "*movhi_update1"
@@ -9723,8 +9723,8 @@
&& (!avoiding_indexed_address_p (SImode)
|| !gpc_reg_operand (operands[2], SImode))"
"@
- {lux|lwzux} %3,%0,%2
- {lu|lwzu} %3,%2(%0)"
+ lwzux %3,%0,%2
+ lwzu %3,%2(%0)"
[(set_attr "type" "load_ux,load_u")])
(define_insn "*movsf_update4"
@@ -9737,8 +9737,8 @@
&& (!avoiding_indexed_address_p (SImode)
|| !gpc_reg_operand (operands[2], SImode))"
"@
- {stux|stwux} %3,%0,%2
- {stu|stwu} %3,%2(%0)"
+ stwux %3,%0,%2
+ stwu %3,%2(%0)"
[(set_attr "type" "store_ux,store_u")])
(define_insn "*movdf_update1"
@@ -10382,7 +10382,7 @@
ASM_GENERATE_INTERNAL_LABEL (buf, \"LCTOC\", 1);
operands[1] = gen_rtx_SYMBOL_REF (Pmode, ggc_strdup (buf));
operands[2] = gen_rtx_REG (Pmode, 2);
- return \"{l|lwz} %0,%1(%2)\";
+ return \"lwz %0,%1(%2)\";
}"
[(set_attr "type" "load")])
@@ -10497,7 +10497,7 @@
(minus:SI (match_operand:SI 2 "immediate_operand" "s")
(match_operand:SI 3 "immediate_operand" "s")))))]
"TARGET_ELF && DEFAULT_ABI != ABI_AIX && flag_pic == 2"
- "{l|lwz} %0,%2-%3(%1)"
+ "lwz %0,%2-%3(%1)"
[(set_attr "type" "load")])
(define_insn "load_toc_v4_PIC_3b"
@@ -10507,7 +10507,7 @@
(minus:SI (match_operand:SI 2 "symbol_ref_operand" "s")
(match_operand:SI 3 "symbol_ref_operand" "s")))))]
"TARGET_ELF && TARGET_SECURE_PLT && DEFAULT_ABI != ABI_AIX && flag_pic"
- "{cau|addis} %0,%1,%2-%3@ha")
+ "addis %0,%1,%2-%3@ha")
(define_insn "load_toc_v4_PIC_3c"
[(set (match_operand:SI 0 "gpc_reg_operand" "=r")
@@ -10515,7 +10515,7 @@
(minus:SI (match_operand:SI 2 "symbol_ref_operand" "s")
(match_operand:SI 3 "symbol_ref_operand" "s"))))]
"TARGET_ELF && TARGET_SECURE_PLT && DEFAULT_ABI != ABI_AIX && flag_pic"
- "{cal %0,%2-%3@l(%1)|addi %0,%1,%2-%3@l}")
+ "addi %0,%1,%2-%3@l")
;; If the TOC is shared over a translation unit, as happens with all
;; the kinds of PIC that we support, we need to restore the TOC
@@ -10560,7 +10560,7 @@
(match_operand:DI 2 "gpc_reg_operand" "b")]
UNSPEC_TOCREL)))]
"TARGET_ELF && TARGET_CMODEL != CMODEL_SMALL"
- "{cau|addis} %0,%2,%1@toc@ha")
+ "addis %0,%2,%1@toc@ha")
(define_insn "*largetoc_high_plus"
[(set (match_operand:DI 0 "gpc_reg_operand" "=b*r")
@@ -10571,7 +10571,7 @@
UNSPEC_TOCREL)
(match_operand 3 "const_int_operand" "n"))))]
"TARGET_ELF && TARGET_CMODEL != CMODEL_SMALL"
- "{cau|addis} %0,%2,%1+%3@toc@ha")
+ "addis %0,%2,%1+%3@toc@ha")
(define_insn "*largetoc_low"
[(set (match_operand:DI 0 "gpc_reg_operand" "=r,r")
@@ -10579,14 +10579,14 @@
(match_operand:DI 2 "" "")))]
"TARGET_ELF && TARGET_CMODEL != CMODEL_SMALL"
"@
- {cal %0,%2@l(%1)|addi %0,%1,%2@l}
- {ai|addic} %0,%1,%2@l")
+ addi %0,%1,%2@l
+ addic %0,%1,%2@l")
(define_insn_and_split "*tocref<mode>"
[(set (match_operand:P 0 "gpc_reg_operand" "=b*r")
(match_operand:P 1 "small_toc_ref" "R"))]
"TARGET_TOC"
- "{cal|la} %0,%a1"
+ "la %0,%a1"
"&& TARGET_ELF && TARGET_CMODEL != CMODEL_SMALL && reload_completed"
[(set (match_dup 0) (high:P (match_dup 1)))
(set (match_dup 0) (lo_sum:P (match_dup 0) (match_dup 1)))])
@@ -10599,7 +10599,7 @@
[(set (match_operand:SI 0 "gpc_reg_operand" "=b*r")
(high:SI (match_operand 1 "" "")))]
"TARGET_ELF && ! TARGET_64BIT"
- "{liu|lis} %0,%1@ha")
+ "lis %0,%1@ha")
(define_insn "elf_low"
[(set (match_operand:SI 0 "gpc_reg_operand" "=r,r")
@@ -10607,8 +10607,8 @@
(match_operand 2 "" "")))]
"TARGET_ELF && ! TARGET_64BIT"
"@
- {cal|la} %0,%2@l(%1)
- {ai|addic} %0,%1,%K2")
+ la %0,%2@l(%1)
+ addic %0,%1,%K2")
;; Call and call_value insns
(define_expand "call"
@@ -11368,7 +11368,7 @@
"*
{
operands[1] = gen_rtx_REG (Pmode, 0);
- return \"{st%U0%X0|stw%U0%X0} %1,%0\";
+ return \"stw%U0%X0 %1,%0\";
}"
[(set_attr "type" "store")
(set_attr "length" "4")])
@@ -11493,7 +11493,7 @@
(unspec:SI [(match_operand:SI 1 "memory_operand" "m")] UNSPEC_SP_SET))
(set (match_scratch:SI 2 "=&r") (const_int 0))]
"TARGET_32BIT"
- "{l%U1%X1|lwz%U1%X1} %2,%1\;{st%U0%X0|stw%U0%X0} %2,%0\;{lil|li} %2,0"
+ "lwz%U1%X1 %2,%1\;stw%U0%X0 %2,%0\;li %2,0"
[(set_attr "type" "three")
(set_attr "length" "12")])
@@ -11502,7 +11502,7 @@
(unspec:DI [(match_operand:DI 1 "memory_operand" "Y")] UNSPEC_SP_SET))
(set (match_scratch:DI 2 "=&r") (const_int 0))]
"TARGET_64BIT"
- "ld%U1%X1 %2,%1\;std%U0%X0 %2,%0\;{lil|li} %2,0"
+ "ld%U1%X1 %2,%1\;std%U0%X0 %2,%0\;li %2,0"
[(set_attr "type" "three")
(set_attr "length" "12")])
@@ -11534,8 +11534,8 @@
(clobber (match_scratch:SI 3 "=&r,&r"))]
"TARGET_32BIT"
"@
- {l%U1%X1|lwz%U1%X1} %3,%1\;{l%U2%X2|lwz%U2%X2} %4,%2\;xor. %3,%3,%4\;{lil|li} %4,0
- {l%U1%X1|lwz%U1%X1} %3,%1\;{l%U2%X2|lwz%U2%X2} %4,%2\;{cmpl|cmplw} %0,%3,%4\;{lil|li} %3,0\;{lil|li} %4,0"
+ lwz%U1%X1 %3,%1\;lwz%U2%X2 %4,%2\;xor. %3,%3,%4\;li %4,0
+ lwz%U1%X1 %3,%1\;lwz%U2%X2 %4,%2\;cmplw %0,%3,%4\;li %3,0\;li %4,0"
[(set_attr "length" "16,20")])
(define_insn "stack_protect_testdi"
@@ -11547,8 +11547,8 @@
(clobber (match_scratch:DI 3 "=&r,&r"))]
"TARGET_64BIT"
"@
- ld%U1%X1 %3,%1\;ld%U2%X2 %4,%2\;xor. %3,%3,%4\;{lil|li} %4,0
- ld%U1%X1 %3,%1\;ld%U2%X2 %4,%2\;cmpld %0,%3,%4\;{lil|li} %3,0\;{lil|li} %4,0"
+ ld%U1%X1 %3,%1\;ld%U2%X2 %4,%2\;xor. %3,%3,%4\;li %4,0
+ ld%U1%X1 %3,%1\;ld%U2%X2 %4,%2\;cmpld %0,%3,%4\;li %3,0\;li %4,0"
[(set_attr "length" "16,20")])
@@ -11558,7 +11558,7 @@
(compare:CC (match_operand:GPR 1 "gpc_reg_operand" "r")
(match_operand:GPR 2 "reg_or_short_operand" "rI")))]
""
- "{cmp%I2|cmp<wd>%I2} %0,%1,%2"
+ "cmp<wd>%I2 %0,%1,%2"
[(set_attr "type" "cmp")])
;; If we are comparing a register for equality with a large constant,
@@ -11609,7 +11609,7 @@
(compare:CCUNS (match_operand:SI 1 "gpc_reg_operand" "r")
(match_operand:SI 2 "reg_or_u_short_operand" "rK")))]
""
- "{cmpl%I2|cmplw%I2} %0,%1,%b2"
+ "cmplw%I2 %0,%1,%b2"
[(set_attr "type" "cmp")])
(define_insn "*cmpdi_internal2"
@@ -11767,7 +11767,7 @@
[(match_operand 2 "cc_reg_operand" "y")
(const_int 0)]))]
""
- "mfcr %0%Q2\;{rlinm|rlwinm} %0,%0,%J1,1"
+ "mfcr %0%Q2\;rlwinm %0,%0,%J1,1"
[(set (attr "type")
(cond [(match_test "TARGET_MFCRF")
(const_string "mfcrf")
@@ -11780,7 +11780,7 @@
[(set (match_operand:SI 0 "gpc_reg_operand" "=r")
(unspec:SI [(match_operand 1 "cc_reg_operand" "y")] UNSPEC_MV_CR_GT))]
"TARGET_HARD_FLOAT && !TARGET_FPRS"
- "mfcr %0\;{rlinm|rlwinm} %0,%0,%D1,31,31"
+ "mfcr %0\;rlwinm %0,%0,%D1,31,31"
[(set_attr "type" "mfcr")
(set_attr "length" "8")])
@@ -11789,7 +11789,7 @@
[(set (match_operand:SI 0 "gpc_reg_operand" "=r")
(unspec:SI [(match_operand 1 "cc_reg_operand" "y")] UNSPEC_MV_CR_OV))]
"TARGET_ISEL"
- "mfcr %0\;{rlinm|rlwinm} %0,%0,%t1,1"
+ "mfcr %0\;rlwinm %0,%0,%t1,1"
[(set_attr "type" "mfcr")
(set_attr "length" "8")])
@@ -11799,7 +11799,7 @@
[(match_operand 2 "cc_reg_operand" "y")
(const_int 0)]))]
"TARGET_POWERPC64"
- "mfcr %0%Q2\;{rlinm|rlwinm} %0,%0,%J1,1"
+ "mfcr %0%Q2\;rlwinm %0,%0,%J1,1"
[(set (attr "type")
(cond [(match_test "TARGET_MFCRF")
(const_string "mfcrf")
@@ -11817,7 +11817,7 @@
(match_op_dup 1 [(match_dup 2) (const_int 0)]))]
"TARGET_32BIT"
"@
- mfcr %3%Q2\;{rlinm.|rlwinm.} %3,%3,%J1,1
+ mfcr %3%Q2\;rlwinm. %3,%3,%J1,1
#"
[(set_attr "type" "delayed_compare")
(set_attr "length" "8,16")])
@@ -11859,7 +11859,7 @@
operands[4] = GEN_INT (count);
operands[5] = GEN_INT (put_bit);
- return \"mfcr %0%Q2\;{rlinm|rlwinm} %0,%0,%4,%5,%5\";
+ return \"mfcr %0%Q2\;rlwinm %0,%0,%4,%5,%5\";
}"
[(set (attr "type")
(cond [(match_test "TARGET_MFCRF")
@@ -11898,7 +11898,7 @@
operands[5] = GEN_INT (count);
operands[6] = GEN_INT (put_bit);
- return \"mfcr %4%Q2\;{rlinm.|rlwinm.} %4,%4,%5,%6,%6\";
+ return \"mfcr %4%Q2\;rlwinm. %4,%4,%5,%6,%6\";
}"
[(set_attr "type" "delayed_compare")
(set_attr "length" "8,16")])
@@ -11936,7 +11936,7 @@
[(match_operand 5 "cc_reg_operand" "y")
(const_int 0)]))]
"REGNO (operands[2]) != REGNO (operands[5])"
- "mfcr %3\;{rlinm|rlwinm} %0,%3,%J1,1\;{rlinm|rlwinm} %3,%3,%J4,1"
+ "mfcr %3\;rlwinm %0,%3,%J1,1\;rlwinm %3,%3,%J4,1"
[(set_attr "type" "mfcr")
(set_attr "length" "12")])
@@ -11950,7 +11950,7 @@
[(match_operand 5 "cc_reg_operand" "y")
(const_int 0)]))]
"TARGET_POWERPC64 && REGNO (operands[2]) != REGNO (operands[5])"
- "mfcr %3\;{rlinm|rlwinm} %0,%3,%J1,1\;{rlinm|rlwinm} %3,%3,%J4,1"
+ "mfcr %3\;rlwinm %0,%3,%J1,1\;rlwinm %3,%3,%J4,1"
[(set_attr "type" "mfcr")
(set_attr "length" "12")])
@@ -12066,11 +12066,11 @@
(match_operand:SI 3 "gpc_reg_operand" "r,r,r,r,r")))]
"TARGET_32BIT"
"@
- xor %0,%1,%2\;{sfi|subfic} %0,%0,0\;{aze|addze} %0,%3
- {sfi|subfic} %0,%1,0\;{aze|addze} %0,%3
- {xoril|xori} %0,%1,%b2\;{sfi|subfic} %0,%0,0\;{aze|addze} %0,%3
- {xoriu|xoris} %0,%1,%u2\;{sfi|subfic} %0,%0,0\;{aze|addze} %0,%3
- {sfi|subfic} %0,%1,%2\;{sfi|subfic} %0,%0,0\;{aze|addze} %0,%3"
+ xor %0,%1,%2\;subfic %0,%0,0\;addze %0,%3
+ subfic %0,%1,0\;addze %0,%3
+ xori %0,%1,%b2\;subfic %0,%0,0\;addze %0,%3
+ xoris %0,%1,%u2\;subfic %0,%0,0\;addze %0,%3
+ subfic %0,%1,%2\;subfic %0,%0,0\;addze %0,%3"
[(set_attr "type" "three,two,three,three,three")
(set_attr "length" "12,8,12,12,12")])
@@ -12085,11 +12085,11 @@
(clobber (match_scratch:SI 4 "=&r,&r,&r,&r,&r,&r,&r,&r,&r,&r"))]
"TARGET_32BIT && optimize_size"
"@
- xor %4,%1,%2\;{sfi|subfic} %4,%4,0\;{aze.|addze.} %4,%3
- {sfi|subfic} %4,%1,0\;{aze.|addze.} %4,%3
- {xoril|xori} %4,%1,%b2\;{sfi|subfic} %4,%4,0\;{aze.|addze.} %4,%3
- {xoriu|xoris} %4,%1,%u2\;{sfi|subfic} %4,%4,0\;{aze.|addze.} %4,%3
- {sfi|subfic} %4,%1,%2\;{sfi|subfic} %4,%4,0\;{aze.|addze.} %4,%3
+ xor %4,%1,%2\;subfic %4,%4,0\;addze. %4,%3
+ subfic %4,%1,0\;addze. %4,%3
+ xori %4,%1,%b2\;subfic %4,%4,0\;addze. %4,%3
+ xoris %4,%1,%u2\;subfic %4,%4,0\;addze. %4,%3
+ subfic %4,%1,%2\;subfic %4,%4,0\;addze. %4,%3
#
#
#
@@ -12129,11 +12129,11 @@
(plus:SI (eq:SI (match_dup 1) (match_dup 2)) (match_dup 3)))]
"TARGET_32BIT && optimize_size"
"@
- xor %0,%1,%2\;{sfi|subfic} %0,%0,0\;{aze.|addze.} %0,%3
- {sfi|subfic} %0,%1,0\;{aze.|addze.} %0,%3
- {xoril|xori} %0,%1,%b2\;{sfi|subfic} %0,%0,0\;{aze.|addze.} %0,%3
- {xoriu|xoris} %0,%1,%u2\;{sfi|subfic} %0,%0,0\;{aze.|addze.} %0,%3
- {sfi|subfic} %0,%1,%2\;{sfi|subfic} %0,%0,0\;{aze.|addze.} %0,%3
+ xor %0,%1,%2\;subfic %0,%0,0\;addze. %0,%3
+ subfic %0,%1,0\;addze. %0,%3
+ xori %0,%1,%b2\;subfic %0,%0,0\;addze. %0,%3
+ xoris %0,%1,%u2\;subfic %0,%0,0\;addze. %0,%3
+ subfic %0,%1,%2\;subfic %0,%0,0\;addze. %0,%3
#
#
#
@@ -12165,7 +12165,7 @@
(neg:P (eq:P (match_operand:P 1 "gpc_reg_operand" "r")
(const_int 0))))]
""
- "{ai|addic} %0,%1,-1\;{sfe|subfe} %0,%0,%0"
+ "addic %0,%1,-1\;subfe %0,%0,%0"
[(set_attr "type" "two")
(set_attr "length" "8")])
@@ -12205,7 +12205,7 @@
(const_int 31)))
(clobber (match_scratch:SI 2 "=&r"))]
"TARGET_32BIT && !TARGET_ISEL"
- "{ai|addic} %2,%1,-1\;{sfe|subfe} %0,%2,%1"
+ "addic %2,%1,-1\;subfe %0,%2,%1"
[(set_attr "type" "two")
(set_attr "length" "8")])
@@ -12228,7 +12228,7 @@
(match_operand:SI 2 "gpc_reg_operand" "r")))
(clobber (match_scratch:SI 3 "=&r"))]
"TARGET_32BIT"
- "{ai|addic} %3,%1,-1\;{aze|addze} %0,%2"
+ "addic %3,%1,-1\;addze %0,%2"
[(set_attr "type" "two")
(set_attr "length" "8")])
@@ -12256,7 +12256,7 @@
(clobber (match_scratch:SI 4 "=X,&r"))]
"TARGET_32BIT"
"@
- {ai|addic} %3,%1,-1\;{aze.|addze.} %3,%2
+ addic %3,%1,-1\;addze. %3,%2
#"
[(set_attr "type" "compare")
(set_attr "length" "8,12")])
@@ -12331,7 +12331,7 @@
(clobber (match_scratch:SI 3 "=&r,&r"))]
"TARGET_32BIT"
"@
- {ai|addic} %3,%1,-1\;{aze.|addze.} %0,%2
+ addic %3,%1,-1\;addze. %0,%2
#"
[(set_attr "type" "compare")
(set_attr "length" "8,12")])
@@ -12404,7 +12404,7 @@
(leu:P (match_operand:P 1 "gpc_reg_operand" "r")
(match_operand:P 2 "reg_or_short_operand" "rI")))]
""
- "{sf%I2|subf%I2c} %0,%1,%2\;{cal %0,0(0)|li %0,0}\;{ae|adde} %0,%0,%0"
+ "subf%I2c %0,%1,%2\;li %0,0\;adde %0,%0,%0"
[(set_attr "type" "three")
(set_attr "length" "12")])
@@ -12418,7 +12418,7 @@
(leu:P (match_dup 1) (match_dup 2)))]
""
"@
- {sf%I2|subf%I2c} %0,%1,%2\;{cal %0,0(0)|li %0,0}\;{ae.|adde.} %0,%0,%0
+ subf%I2c %0,%1,%2\;li %0,0\;adde. %0,%0,%0
#"
[(set_attr "type" "compare")
(set_attr "length" "12,16")])
@@ -12445,7 +12445,7 @@
(match_operand:P 2 "reg_or_short_operand" "rI"))
(match_operand:P 3 "gpc_reg_operand" "r")))]
""
- "{sf%I2|subf%I2c} %0,%1,%2\;{aze|addze} %0,%3"
+ "subf%I2c %0,%1,%2\;addze %0,%3"
[(set_attr "type" "two")
(set_attr "length" "8")])
@@ -12459,7 +12459,7 @@
(clobber (match_scratch:SI 4 "=&r,&r"))]
"TARGET_32BIT"
"@
- {sf%I2|subf%I2c} %4,%1,%2\;{aze.|addze.} %4,%3
+ subf%I2c %4,%1,%2\;addze. %4,%3
#"
[(set_attr "type" "compare")
(set_attr "length" "8,12")])
@@ -12492,7 +12492,7 @@
(plus:SI (leu:SI (match_dup 1) (match_dup 2)) (match_dup 3)))]
"TARGET_32BIT"
"@
- {sf%I2|subf%I2c} %0,%1,%2\;{aze.|addze.} %0,%3
+ subf%I2c %0,%1,%2\;addze. %0,%3
#"
[(set_attr "type" "compare")
(set_attr "length" "8,12")])
@@ -12519,7 +12519,7 @@
(neg:P (leu:P (match_operand:P 1 "gpc_reg_operand" "r")
(match_operand:P 2 "reg_or_short_operand" "rI"))))]
""
- "{sf%I2|subf%I2c} %0,%1,%2\;{sfe|subfe} %0,%0,%0\;nand %0,%0,%0"
+ "subf%I2c %0,%1,%2\;subfe %0,%0,%0\;nand %0,%0,%0"
[(set_attr "type" "three")
(set_attr "length" "12")])
@@ -12530,7 +12530,7 @@
(match_operand:P 2 "reg_or_short_operand" "rI")))
(match_operand:P 3 "gpc_reg_operand" "r")))]
""
- "{sf%I2|subf%I2c} %0,%1,%2\;{sfe|subfe} %0,%0,%0\;andc %0,%3,%0"
+ "subf%I2c %0,%1,%2\;subfe %0,%0,%0\;andc %0,%3,%0"
[(set_attr "type" "three")
(set_attr "length" "12")])
@@ -12545,7 +12545,7 @@
(clobber (match_scratch:SI 4 "=&r,&r"))]
"TARGET_32BIT"
"@
- {sf%I2|subf%I2c} %4,%1,%2\;{sfe|subfe} %4,%4,%4\;andc. %4,%3,%4
+ subf%I2c %4,%1,%2\;subfe %4,%4,%4\;andc. %4,%3,%4
#"
[(set_attr "type" "compare")
(set_attr "length" "12,16")])
@@ -12580,7 +12580,7 @@
(and:SI (neg:SI (leu:SI (match_dup 1) (match_dup 2))) (match_dup 3)))]
"TARGET_32BIT"
"@
- {sf%I2|subf%I2c} %0,%1,%2\;{sfe|subfe} %0,%0,%0\;andc. %0,%3,%0
+ subf%I2c %0,%1,%2\;subfe %0,%0,%0\;andc. %0,%3,%0
#"
[(set_attr "type" "compare")
(set_attr "length" "12,16")])
@@ -12669,8 +12669,8 @@
(match_operand:P 2 "reg_or_neg_short_operand" "r,P"))))]
""
"@
- {sf|subfc} %0,%2,%1\;{sfe|subfe} %0,%0,%0
- {ai|addic} %0,%1,%n2\;{sfe|subfe} %0,%0,%0"
+ subfc %0,%2,%1\;subfe %0,%0,%0
+ addic %0,%1,%n2\;subfe %0,%0,%0"
[(set_attr "type" "two")
(set_attr "length" "8")])
@@ -12680,8 +12680,8 @@
(match_operand:P 2 "reg_or_neg_short_operand" "r,P")))]
""
"@
- {sf|subfc} %0,%2,%1\;{cal %0,0(0)|li %0,0}\;{ae|adde} %0,%0,%0
- {ai|addic} %0,%1,%n2\;{cal %0,0(0)|li %0,0}\;{ae|adde} %0,%0,%0"
+ subfc %0,%2,%1\;li %0,0\;adde %0,%0,%0
+ addic %0,%1,%n2\;li %0,0\;adde %0,%0,%0"
[(set_attr "type" "three")
(set_attr "length" "12")])
@@ -12695,8 +12695,8 @@
(geu:P (match_dup 1) (match_dup 2)))]
""
"@
- {sf|subfc} %0,%2,%1\;{cal %0,0(0)|li %0,0}\;{ae.|adde.} %0,%0,%0
- {ai|addic} %0,%1,%n2\;{cal %0,0(0)|li %0,0}\;{ae.|adde.} %0,%0,%0
+ subfc %0,%2,%1\;li %0,0\;adde. %0,%0,%0
+ addic %0,%1,%n2\;li %0,0\;adde. %0,%0,%0
#
#"
[(set_attr "type" "compare")
@@ -12725,8 +12725,8 @@
(match_operand:P 3 "gpc_reg_operand" "r,r")))]
""
"@
- {sf|subfc} %0,%2,%1\;{aze|addze} %0,%3
- {ai|addic} %0,%1,%n2\;{aze|addze} %0,%3"
+ subfc %0,%2,%1\;addze %0,%3
+ addic %0,%1,%n2\;addze %0,%3"
[(set_attr "type" "two")
(set_attr "length" "8")])
@@ -12740,8 +12740,8 @@
(clobber (match_scratch:SI 4 "=&r,&r,&r,&r"))]
"TARGET_32BIT"
"@
- {sf|subfc} %4,%2,%1\;{aze.|addze.} %4,%3
- {ai|addic} %4,%1,%n2\;{aze.|addze.} %4,%3
+ subfc %4,%2,%1\;addze. %4,%3
+ addic %4,%1,%n2\;addze. %4,%3
#
#"
[(set_attr "type" "compare")
@@ -12775,8 +12775,8 @@
(plus:SI (geu:SI (match_dup 1) (match_dup 2)) (match_dup 3)))]
"TARGET_32BIT"
"@
- {sf|subfc} %0,%2,%1\;{aze.|addze.} %0,%3
- {ai|addic} %0,%1,%n2\;{aze.|addze.} %0,%3
+ subfc %0,%2,%1\;addze. %0,%3
+ addic %0,%1,%n2\;addze. %0,%3
#
#"
[(set_attr "type" "compare")
@@ -12805,8 +12805,8 @@
(match_operand:P 2 "reg_or_short_operand" "r,I"))))]
""
"@
- {sf|subfc} %0,%2,%1\;{sfe|subfe} %0,%0,%0\;nand %0,%0,%0
- {sfi|subfic} %0,%1,-1\;{a%I2|add%I2c} %0,%0,%2\;{sfe|subfe} %0,%0,%0"
+ subfc %0,%2,%1\;subfe %0,%0,%0\;nand %0,%0,%0
+ subfic %0,%1,-1\;add%I2c %0,%0,%2\;subfe %0,%0,%0"
[(set_attr "type" "three")
(set_attr "length" "12")])
@@ -12818,8 +12818,8 @@
(match_operand:P 3 "gpc_reg_operand" "r,r")))]
""
"@
- {sf|subfc} %0,%2,%1\;{sfe|subfe} %0,%0,%0\;andc %0,%3,%0
- {ai|addic} %0,%1,%n2\;{sfe|subfe} %0,%0,%0\;andc %0,%3,%0"
+ subfc %0,%2,%1\;subfe %0,%0,%0\;andc %0,%3,%0
+ addic %0,%1,%n2\;subfe %0,%0,%0\;andc %0,%3,%0"
[(set_attr "type" "three")
(set_attr "length" "12")])
@@ -12834,8 +12834,8 @@
(clobber (match_scratch:SI 4 "=&r,&r,&r,&r"))]
"TARGET_32BIT"
"@
- {sf|subfc} %4,%2,%1\;{sfe|subfe} %4,%4,%4\;andc. %4,%3,%4
- {ai|addic} %4,%1,%n2\;{sfe|subfe} %4,%4,%4\;andc. %4,%3,%4
+ subfc %4,%2,%1\;subfe %4,%4,%4\;andc. %4,%3,%4
+ addic %4,%1,%n2\;subfe %4,%4,%4\;andc. %4,%3,%4
#
#"
[(set_attr "type" "compare")
@@ -12871,8 +12871,8 @@
(and:SI (neg:SI (geu:SI (match_dup 1) (match_dup 2))) (match_dup 3)))]
"TARGET_32BIT"
"@
- {sf|subfc} %0,%2,%1\;{sfe|subfe} %0,%0,%0\;andc. %0,%3,%0
- {ai|addic} %0,%1,%n2\;{sfe|subfe} %0,%0,%0\;andc. %0,%3,%0
+ subfc %0,%2,%1\;subfe %0,%0,%0\;andc. %0,%3,%0
+ addic %0,%1,%n2\;subfe %0,%0,%0\;andc. %0,%3,%0
#
#"
[(set_attr "type" "compare")
@@ -12902,7 +12902,7 @@
(const_int 0))
(match_operand:P 2 "gpc_reg_operand" "r")))]
""
- "{a|addc} %0,%1,%1\;{sfe|subfe} %0,%1,%0\;{aze|addze} %0,%2"
+ "addc %0,%1,%1\;subfe %0,%1,%0\;addze %0,%2"
[(set_attr "type" "three")
(set_attr "length" "12")])
@@ -12916,7 +12916,7 @@
(clobber (match_scratch:SI 3 "=&r,&r"))]
"TARGET_32BIT"
"@
- {a|addc} %3,%1,%1\;{sfe|subfe} %3,%1,%3\;{aze.|addze.} %3,%2
+ addc %3,%1,%1\;subfe %3,%1,%3\;addze. %3,%2
#"
[(set_attr "type" "compare")
(set_attr "length" "12,16")])
@@ -12981,7 +12981,7 @@
(plus:SI (gt:SI (match_dup 1) (const_int 0)) (match_dup 2)))]
"TARGET_32BIT"
"@
- {a|addc} %0,%1,%1\;{sfe|subfe} %0,%1,%0\;{aze.|addze.} %0,%2
+ addc %0,%1,%1\;subfe %0,%1,%0\;addze. %0,%2
#"
[(set_attr "type" "compare")
(set_attr "length" "12,16")])
@@ -13100,7 +13100,7 @@
(neg:P (gtu:P (match_operand:P 1 "gpc_reg_operand" "r")
(match_operand:P 2 "reg_or_short_operand" "rI"))))]
""
- "{sf%I2|subf%I2c} %0,%1,%2\;{sfe|subfe} %0,%0,%0"
+ "subf%I2c %0,%1,%2\;subfe %0,%0,%0"
[(set_attr "type" "two")
(set_attr "length" "8")])
@@ -13227,7 +13227,7 @@
(const_int 0)])
(const_int 0)))]
""
- "{crnor %E0,%j1,%j1|crnot %E0,%j1}"
+ "crnot %E0,%j1"
[(set_attr "type" "cr_logical,delayed_cr")])
;; If we are comparing the result of two comparisons, this can be done
@@ -13296,7 +13296,7 @@
(define_insn "<return_str>return"
[(any_return)]
"<return_pred>"
- "{br|blr}"
+ "blr"
[(set_attr "type" "jmpreg")])
(define_expand "indirect_jump"
@@ -13307,7 +13307,7 @@
""
"@
bctr
- {br|blr}"
+ blr"
[(set_attr "type" "jmpreg")])
;; Table jump for switch statements:
@@ -13359,13 +13359,13 @@
""
"@
bctr
- {br|blr}"
+ blr"
[(set_attr "type" "jmpreg")])
(define_insn "nop"
[(const_int 0)]
""
- "{cror 0,0,0|nop}")
+ "nop")
(define_insn "group_ending_nop"
[(unspec [(const_int 0)] UNSPEC_GRP_END_NOP)]
@@ -13444,7 +13444,7 @@
if (which_alternative != 0)
return \"#\";
else if (get_attr_length (insn) == 4)
- return \"{bdn|bdnz} %l0\";
+ return \"bdnz %l0\";
else
return \"bdz $+8\;b %l0\";
}"
@@ -13470,7 +13470,7 @@
else if (get_attr_length (insn) == 4)
return \"bdz %l0\";
else
- return \"{bdn|bdnz} $+8\;b %l0\";
+ return \"bdnz $+8\;b %l0\";
}"
[(set_attr "type" "branch")
(set_attr "length" "*,12,16,16")])
@@ -13496,7 +13496,7 @@
else if (get_attr_length (insn) == 4)
return \"bdz %l0\";
else
- return \"{bdn|bdnz} $+8\;b %l0\";
+ return \"bdnz $+8\;b %l0\";
}"
[(set_attr "type" "branch")
(set_attr "length" "*,12,16,16")])
@@ -13518,7 +13518,7 @@
if (which_alternative != 0)
return \"#\";
else if (get_attr_length (insn) == 4)
- return \"{bdn|bdnz} %l0\";
+ return \"bdnz %l0\";
else
return \"bdz $+8\;b %l0\";
}"
@@ -13584,7 +13584,7 @@
(define_insn "trap"
[(trap_if (const_int 1) (const_int 0))]
""
- "{t 31,0,0|trap}"
+ "trap"
[(set_attr "type" "trap")])
(define_expand "ctrap<mode>4"
@@ -13601,7 +13601,7 @@
(match_operand:GPR 2 "reg_or_short_operand" "rI")])
(const_int 0))]
""
- "{t|t<wd>}%V0%I2 %1,%2"
+ "t<wd>%V0%I2 %1,%2"
[(set_attr "type" "trap")])
;; Insns related to generating the function prologue and epilogue.
@@ -13653,7 +13653,7 @@
[(set (match_operand:SI 1 "memory_operand" "=m")
(match_operand:SI 2 "gpc_reg_operand" "r"))])]
"TARGET_MULTIPLE"
- "{stm|stmw} %2,%1"
+ "stmw %2,%1"
[(set_attr "type" "store_ux")])
; The following comment applies to:
@@ -13812,7 +13812,7 @@
[(set (match_operand:SI 1 "gpc_reg_operand" "=r")
(match_operand:SI 2 "memory_operand" "m"))])]
"TARGET_MULTIPLE"
- "{lm|lmw} %1,%2"
+ "lmw %1,%2"
[(set_attr "type" "load_ux")
(set_attr "cell_micro" "always")])
diff --git a/gcc/config/rs6000/rs6000.opt b/gcc/config/rs6000/rs6000.opt
index 9f3567a..878b0fb 100644
--- a/gcc/config/rs6000/rs6000.opt
+++ b/gcc/config/rs6000/rs6000.opt
@@ -150,14 +150,6 @@ mstring
Target Report Mask(STRING) Save
Generate string instructions for block moves
-mnew-mnemonics
-Target Report RejectNegative Mask(NEW_MNEMONICS)
-Use new mnemonics for PowerPC architecture
-
-mold-mnemonics
-Target Report RejectNegative InverseMask(NEW_MNEMONICS)
-Use old mnemonics for PowerPC architecture
-
msoft-float
Target Report RejectNegative Mask(SOFT_FLOAT)
Do not use hardware floating point
diff --git a/gcc/config/rs6000/spe.md b/gcc/config/rs6000/spe.md
index 43cdbfa..bf59b6c 100644
--- a/gcc/config/rs6000/spe.md
+++ b/gcc/config/rs6000/spe.md
@@ -2289,9 +2289,9 @@
known to be dead. */
if (refers_to_regno_p (REGNO (operands[0]), REGNO (operands[0]) + 1,
operands[1], 0))
- return \"{l|lwz} %L0,%L1\;{l|lwz} %0,%1\";
+ return \"lwz %L0,%L1\;lwz %0,%1\";
else
- return \"{l%U1%X1|lwz%U1%X1} %0,%1\;{l|lwz} %L0,%L1\";
+ return \"lwz%U1%X1 %0,%1\;lwz %L0,%L1\";
}
}"
[(set_attr "length" "8,8")])
@@ -2315,9 +2315,9 @@
return \"evldd%X1 %Z0,%y1\;evmergehi %Y0,%Z0,%Z0\";
if (refers_to_regno_p (REGNO (operands[0]), REGNO (operands[0]) + 1,
operands[1], 0))
- return \"{l|lwz} %Z0,%L1\;{l|lwz} %Y0,%1\";
+ return \"lwz %Z0,%L1\;lwz %Y0,%1\";
else
- return \"{l%U1%X1|lwz%U1%X1} %Y0,%1\;{l|lwz} %Z0,%L1\";
+ return \"lwz%U1%X1 %Y0,%1\;lwz %Z0,%L1\";
}
}"
[(set_attr "length" "8,8")])
@@ -2336,7 +2336,7 @@
|| (TARGET_SPE && <MODE>mode != DFmode && <MODE>mode != TFmode)"
"@
evmergelo %0,%1,%0
- evmergelohi %0,%0,%0\;{l%U1%X1|lwz%U1%X1} %0,%1\;evmergelohi %0,%0,%0"
+ evmergelohi %0,%0,%0\;lwz%U1%X1 %0,%1\;evmergelohi %0,%0,%0"
[(set_attr "length" "4,12")])
(define_insn_and_split "*mov_si<mode>_e500_subreg0_elf_low"
@@ -2366,7 +2366,7 @@
|| (TARGET_SPE && <MODE>mode != DFmode && <MODE>mode != TFmode)"
"@
evmergehi %0,%0,%1
- evmergelohi %1,%1,%1\;{st%U0%X0|stw%U0%X0} %1,%0"
+ evmergelohi %1,%1,%1\;stw%U0%X0 %1,%0"
[(set_attr "length" "4,8")])
(define_insn "*mov_si<mode>_e500_subreg4"
@@ -2376,7 +2376,7 @@
|| (TARGET_SPE && <MODE>mode != DFmode && <MODE>mode != TFmode)"
"@
mr %0,%1
- {l%U1%X1|lwz%U1%X1} %0,%1")
+ lwz%U1%X1 %0,%1")
(define_insn "*mov_si<mode>_e500_subreg4_elf_low"
[(set (subreg:SI (match_operand:SPE64TF 0 "register_operand" "+r") 4)
@@ -2385,7 +2385,7 @@
"((TARGET_E500_DOUBLE && (<MODE>mode == DFmode || <MODE>mode == TFmode))
|| (TARGET_SPE && <MODE>mode != DFmode && <MODE>mode != TFmode))
&& TARGET_ELF && !TARGET_64BIT"
- "{ai|addic} %0,%1,%K2")
+ "addic %0,%1,%K2")
(define_insn "*mov_si<mode>_e500_subreg4_2"
[(set (match_operand:SI 0 "rs6000_nonimmediate_operand" "+r,m")
@@ -2394,7 +2394,7 @@
|| (TARGET_SPE && <MODE>mode != DFmode && <MODE>mode != TFmode)"
"@
mr %0,%1
- {st%U0%X0|stw%U0%X0} %1,%0")
+ stw%U0%X0 %1,%0")
(define_insn "*mov_sitf_e500_subreg8"
[(set (subreg:SI (match_operand:TF 0 "register_operand" "+r,&r") 8)
@@ -2402,7 +2402,7 @@
"TARGET_E500_DOUBLE"
"@
evmergelo %L0,%1,%L0
- evmergelohi %L0,%L0,%L0\;{l%U1%X1|lwz%U1%X1} %L0,%1\;evmergelohi %L0,%L0,%L0"
+ evmergelohi %L0,%L0,%L0\;lwz%U1%X1 %L0,%1\;evmergelohi %L0,%L0,%L0"
[(set_attr "length" "4,12")])
(define_insn "*mov_sitf_e500_subreg8_2"
@@ -2411,7 +2411,7 @@
"TARGET_E500_DOUBLE"
"@
evmergehi %0,%0,%L1
- evmergelohi %L1,%L1,%L1\;{st%U0%X0|stw%U0%X0} %L1,%0"
+ evmergelohi %L1,%L1,%L1\;stw%U0%X0 %L1,%0"
[(set_attr "length" "4,8")])
(define_insn "*mov_sitf_e500_subreg12"
@@ -2420,7 +2420,7 @@
"TARGET_E500_DOUBLE"
"@
mr %L0,%1
- {l%U1%X1|lwz%U1%X1} %L0,%1")
+ lwz%U1%X1 %L0,%1")
(define_insn "*mov_sitf_e500_subreg12_2"
[(set (match_operand:SI 0 "rs6000_nonimmediate_operand" "+r,m")
@@ -2428,7 +2428,7 @@
"TARGET_E500_DOUBLE"
"@
mr %0,%L1
- {st%U0%X0|stw%U0%X0} %L1,%0")
+ stw%U0%X0 %L1,%0")
;; FIXME: Allow r=CONST0.
(define_insn "*movdf_e500_double"
diff --git a/gcc/config/rs6000/sync.md b/gcc/config/rs6000/sync.md
index 59ad0c6..ab60cbc 100644
--- a/gcc/config/rs6000/sync.md
+++ b/gcc/config/rs6000/sync.md
@@ -65,7 +65,7 @@
[(set (match_operand:BLK 0 "" "")
(unspec:BLK [(match_dup 0)] UNSPEC_SYNC))]
""
- "{dcs|sync}"
+ "sync"
[(set_attr "type" "sync")])
(define_expand "lwsync"
@@ -95,7 +95,7 @@
(define_insn "isync"
[(unspec_volatile:BLK [(const_int 0)] UNSPECV_ISYNC)]
""
- "{ics|isync}"
+ "isync"
[(set_attr "type" "isync")])
;; The control dependency used for load dependency described
diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h
index d43a699..978ba31 100644
--- a/gcc/config/rs6000/sysv4.h
+++ b/gcc/config/rs6000/sysv4.h
@@ -220,7 +220,7 @@ do { \
/* Override rs6000.h definition. */
#undef TARGET_DEFAULT
-#define TARGET_DEFAULT MASK_NEW_MNEMONICS
+#define TARGET_DEFAULT 0
/* Override rs6000.h definition. */
#undef PROCESSOR_DEFAULT
@@ -450,7 +450,7 @@ do { \
do { \
if (DEFAULT_ABI == ABI_V4) \
asm_fprintf (FILE, \
- "\t{stu|stwu} %s,-16(%s)\n\t{st|stw} %s,12(%s)\n", \
+ "\tstwu %s,-16(%s)\n\tstw %s,12(%s)\n", \
reg_names[1], reg_names[1], reg_names[REGNO], \
reg_names[1]); \
} while (0)
@@ -462,7 +462,7 @@ do { \
do { \
if (DEFAULT_ABI == ABI_V4) \
asm_fprintf (FILE, \
- "\t{l|lwz} %s,12(%s)\n\t{ai|addic} %s,%s,16\n", \
+ "\tlwz %s,12(%s)\n\taddic %s,%s,16\n", \
reg_names[REGNO], reg_names[1], reg_names[1], \
reg_names[1]); \
} while (0)
diff --git a/gcc/config/rs6000/sysv4le.h b/gcc/config/rs6000/sysv4le.h
index 128dbac..74fb65f 100644
--- a/gcc/config/rs6000/sysv4le.h
+++ b/gcc/config/rs6000/sysv4le.h
@@ -20,7 +20,7 @@
<http://www.gnu.org/licenses/>. */
#undef TARGET_DEFAULT
-#define TARGET_DEFAULT (MASK_NEW_MNEMONICS | MASK_LITTLE_ENDIAN)
+#define TARGET_DEFAULT MASK_LITTLE_ENDIAN
#undef CC1_ENDIAN_DEFAULT_SPEC
#define CC1_ENDIAN_DEFAULT_SPEC "%(cc1_endian_little)"
diff --git a/gcc/config/rs6000/vsx.md b/gcc/config/rs6000/vsx.md
index 37cb248..58db3cf 100644
--- a/gcc/config/rs6000/vsx.md
+++ b/gcc/config/rs6000/vsx.md
@@ -545,7 +545,7 @@
xsmaddmdp %x0,%x1,%x3
xsmaddadp %x0,%x1,%x2
xsmaddmdp %x0,%x1,%x3
- {fma|fmadd} %0,%1,%2,%3"
+ fmadd %0,%1,%2,%3"
[(set_attr "type" "fp")
(set_attr "fp_type" "fp_maddsub_d")])
@@ -591,7 +591,7 @@
xsmsubmdp %x0,%x1,%x3
xsmsubadp %x0,%x1,%x2
xsmsubmdp %x0,%x1,%x3
- {fms|fmsub} %0,%1,%2,%3"
+ fmsub %0,%1,%2,%3"
[(set_attr "type" "fp")
(set_attr "fp_type" "fp_maddsub_d")])
@@ -623,7 +623,7 @@
xsnmaddmdp %x0,%x1,%x3
xsnmaddadp %x0,%x1,%x2
xsnmaddmdp %x0,%x1,%x3
- {fnma|fnmadd} %0,%1,%2,%3"
+ fnmadd %0,%1,%2,%3"
[(set_attr "type" "fp")
(set_attr "fp_type" "fp_maddsub_d")])
@@ -657,7 +657,7 @@
xsnmsubmdp %x0,%x1,%x3
xsnmsubadp %x0,%x1,%x2
xsnmsubmdp %x0,%x1,%x3
- {fnms|fnmsub} %0,%1,%2,%3"
+ fnmsub %0,%1,%2,%3"
[(set_attr "type" "fp")
(set_attr "fp_type" "fp_maddsub_d")])
diff --git a/gcc/config/rs6000/vxworks.h b/gcc/config/rs6000/vxworks.h
index 2f5f6ef..13bfc4a 100644
--- a/gcc/config/rs6000/vxworks.h
+++ b/gcc/config/rs6000/vxworks.h
@@ -98,7 +98,7 @@ VXWORKS_ADDITIONAL_CPP_SPEC
#undef MULTILIB_DEFAULTS
#undef TARGET_DEFAULT
-#define TARGET_DEFAULT (MASK_NEW_MNEMONICS | MASK_EABI | MASK_STRICT_ALIGN)
+#define TARGET_DEFAULT (MASK_EABI | MASK_STRICT_ALIGN)
#undef PROCESSOR_DEFAULT
#define PROCESSOR_DEFAULT PROCESSOR_PPC604
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 78bcde7..cf93dbf 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -804,7 +804,6 @@ See RS/6000 and PowerPC Options.
-mmfcrf -mno-mfcrf -mpopcntb -mno-popcntb -mpopcntd -mno-popcntd @gol
-mfprnd -mno-fprnd @gol
-mcmpb -mno-cmpb -mmfpgpr -mno-mfpgpr -mhard-dfp -mno-hard-dfp @gol
--mnew-mnemonics -mold-mnemonics @gol
-mfull-toc -mminimal-toc -mno-fp-in-toc -mno-sum-in-toc @gol
-m64 -m32 -mxl-compat -mno-xl-compat -mpe @gol
-malign-power -malign-natural @gol
@@ -16640,26 +16639,9 @@ The @option{-mpowerpc64} option allows GCC to generate the additional
and to treat GPRs as 64-bit, doubleword quantities. GCC defaults to
@option{-mno-powerpc64}.
-@item -mnew-mnemonics
-@itemx -mold-mnemonics
-@opindex mnew-mnemonics
-@opindex mold-mnemonics
-Select which mnemonics to use in the generated assembler code. With
-@option{-mnew-mnemonics}, GCC uses the assembler mnemonics defined for
-the PowerPC architecture. With @option{-mold-mnemonics} it uses the
-assembler mnemonics defined for the POWER architecture. Instructions
-defined in only one architecture have only one mnemonic; GCC uses that
-mnemonic irrespective of which of these options is specified.
-
-GCC defaults to the mnemonics appropriate for the architecture in
-use. Specifying @option{-mcpu=@var{cpu_type}} sometimes overrides the
-value of these option. Unless you are building a cross-compiler, you
-should normally not specify either @option{-mnew-mnemonics} or
-@option{-mold-mnemonics}, but should instead accept the default.
-
@item -mcpu=@var{cpu_type}
@opindex mcpu
-Set architecture type, register usage, choice of mnemonics, and
+Set architecture type, register usage, and
instruction scheduling parameters for machine type @var{cpu_type}.
Supported values for @var{cpu_type} are @samp{401}, @samp{403},
@samp{405}, @samp{405fp}, @samp{440}, @samp{440fp}, @samp{464}, @samp{464fp},
@@ -16686,7 +16668,7 @@ The @option{-mcpu} options automatically enable or disable the
following options:
@gccoptlist{-maltivec -mfprnd -mhard-float -mmfcrf -mmultiple @gol
--mnew-mnemonics -mpopcntb -mpopcntd -mpowerpc64 @gol
+-mpopcntb -mpopcntd -mpowerpc64 @gol
-mpowerpc-gpopt -mpowerpc-gfxopt -msingle-float -mdouble-float @gol
-msimple-fpu -mstring -mmulhw -mdlmzb -mmfpgpr -mvsx}
@@ -16706,11 +16688,11 @@ environment.
@item -mtune=@var{cpu_type}
@opindex mtune
Set the instruction scheduling parameters for machine type
-@var{cpu_type}, but do not set the architecture type, register usage, or
-choice of mnemonics, as @option{-mcpu=@var{cpu_type}} does. The same
+@var{cpu_type}, but do not set the architecture type or register usage,
+as @option{-mcpu=@var{cpu_type}} does. The same
values for @var{cpu_type} are used for @option{-mtune} as for
@option{-mcpu}. If both are specified, the code generated uses the
-architecture, registers, and mnemonics set by @option{-mcpu}, but the
+architecture and registers set by @option{-mcpu}, but the
scheduling parameters set by @option{-mtune}.
@item -mcmodel=small
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog
index 73f7c95..eadae3e 100644
--- a/libgcc/ChangeLog
+++ b/libgcc/ChangeLog
@@ -1,3 +1,7 @@
+2012-08-15 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * longlong.h: (whole file, powerpc): Adjust to single assembler syntax.
+
2012-08-03 H.J. Lu <hongjiu.lu@intel.com>
PR driver/54171
diff --git a/libgcc/longlong.h b/libgcc/longlong.h
index 0427718..c62194e 100644
--- a/libgcc/longlong.h
+++ b/libgcc/longlong.h
@@ -862,37 +862,37 @@ UDItype __umulsidi3 (USItype, USItype);
#define add_ssaaaa(sh, sl, ah, al, bh, bl) \
do { \
if (__builtin_constant_p (bh) && (bh) == 0) \
- __asm__ ("{a%I4|add%I4c} %1,%3,%4\n\t{aze|addze} %0,%2" \
+ __asm__ ("add%I4c %1,%3,%4\n\taddze %0,%2" \
: "=r" (sh), "=&r" (sl) : "r" (ah), "%r" (al), "rI" (bl));\
else if (__builtin_constant_p (bh) && (bh) == ~(USItype) 0) \
- __asm__ ("{a%I4|add%I4c} %1,%3,%4\n\t{ame|addme} %0,%2" \
+ __asm__ ("add%I4c %1,%3,%4\n\taddme %0,%2" \
: "=r" (sh), "=&r" (sl) : "r" (ah), "%r" (al), "rI" (bl));\
else \
- __asm__ ("{a%I5|add%I5c} %1,%4,%5\n\t{ae|adde} %0,%2,%3" \
+ __asm__ ("add%I5c %1,%4,%5\n\tadde %0,%2,%3" \
: "=r" (sh), "=&r" (sl) \
: "%r" (ah), "r" (bh), "%r" (al), "rI" (bl)); \
} while (0)
#define sub_ddmmss(sh, sl, ah, al, bh, bl) \
do { \
if (__builtin_constant_p (ah) && (ah) == 0) \
- __asm__ ("{sf%I3|subf%I3c} %1,%4,%3\n\t{sfze|subfze} %0,%2" \
+ __asm__ ("subf%I3c %1,%4,%3\n\tsubfze %0,%2" \
: "=r" (sh), "=&r" (sl) : "r" (bh), "rI" (al), "r" (bl));\
else if (__builtin_constant_p (ah) && (ah) == ~(USItype) 0) \
- __asm__ ("{sf%I3|subf%I3c} %1,%4,%3\n\t{sfme|subfme} %0,%2" \
+ __asm__ ("subf%I3c %1,%4,%3\n\tsubfme %0,%2" \
: "=r" (sh), "=&r" (sl) : "r" (bh), "rI" (al), "r" (bl));\
else if (__builtin_constant_p (bh) && (bh) == 0) \
- __asm__ ("{sf%I3|subf%I3c} %1,%4,%3\n\t{ame|addme} %0,%2" \
+ __asm__ ("subf%I3c %1,%4,%3\n\taddme %0,%2" \
: "=r" (sh), "=&r" (sl) : "r" (ah), "rI" (al), "r" (bl));\
else if (__builtin_constant_p (bh) && (bh) == ~(USItype) 0) \
- __asm__ ("{sf%I3|subf%I3c} %1,%4,%3\n\t{aze|addze} %0,%2" \
+ __asm__ ("subf%I3c %1,%4,%3\n\taddze %0,%2" \
: "=r" (sh), "=&r" (sl) : "r" (ah), "rI" (al), "r" (bl));\
else \
- __asm__ ("{sf%I4|subf%I4c} %1,%5,%4\n\t{sfe|subfe} %0,%3,%2" \
+ __asm__ ("subf%I4c %1,%5,%4\n\tsubfe %0,%3,%2" \
: "=r" (sh), "=&r" (sl) \
: "r" (ah), "r" (bh), "rI" (al), "r" (bl)); \
} while (0)
#define count_leading_zeros(count, x) \
- __asm__ ("{cntlz|cntlzw} %0,%1" : "=r" (count) : "r" (x))
+ __asm__ ("cntlzw %0,%1" : "=r" (count) : "r" (x))
#define COUNT_LEADING_ZEROS_0 32
#if defined (_ARCH_PPC) || defined (__powerpc__) || defined (__POWERPC__) \
|| defined (__ppc__) \
@@ -931,32 +931,32 @@ UDItype __umulsidi3 (USItype, USItype);
#define add_ssaaaa(sh, sl, ah, al, bh, bl) \
do { \
if (__builtin_constant_p (bh) && (bh) == 0) \
- __asm__ ("{a%I4|add%I4c} %1,%3,%4\n\t{aze|addze} %0,%2" \
+ __asm__ ("add%I4c %1,%3,%4\n\taddze %0,%2" \
: "=r" (sh), "=&r" (sl) : "r" (ah), "%r" (al), "rI" (bl));\
else if (__builtin_constant_p (bh) && (bh) == ~(UDItype) 0) \
- __asm__ ("{a%I4|add%I4c} %1,%3,%4\n\t{ame|addme} %0,%2" \
+ __asm__ ("add%I4c %1,%3,%4\n\taddme %0,%2" \
: "=r" (sh), "=&r" (sl) : "r" (ah), "%r" (al), "rI" (bl));\
else \
- __asm__ ("{a%I5|add%I5c} %1,%4,%5\n\t{ae|adde} %0,%2,%3" \
+ __asm__ ("add%I5c %1,%4,%5\n\tadde %0,%2,%3" \
: "=r" (sh), "=&r" (sl) \
: "%r" (ah), "r" (bh), "%r" (al), "rI" (bl)); \
} while (0)
#define sub_ddmmss(sh, sl, ah, al, bh, bl) \
do { \
if (__builtin_constant_p (ah) && (ah) == 0) \
- __asm__ ("{sf%I3|subf%I3c} %1,%4,%3\n\t{sfze|subfze} %0,%2" \
+ __asm__ ("subf%I3c %1,%4,%3\n\tsubfze %0,%2" \
: "=r" (sh), "=&r" (sl) : "r" (bh), "rI" (al), "r" (bl));\
else if (__builtin_constant_p (ah) && (ah) == ~(UDItype) 0) \
- __asm__ ("{sf%I3|subf%I3c} %1,%4,%3\n\t{sfme|subfme} %0,%2" \
+ __asm__ ("subf%I3c %1,%4,%3\n\tsubfme %0,%2" \
: "=r" (sh), "=&r" (sl) : "r" (bh), "rI" (al), "r" (bl));\
else if (__builtin_constant_p (bh) && (bh) == 0) \
- __asm__ ("{sf%I3|subf%I3c} %1,%4,%3\n\t{ame|addme} %0,%2" \
+ __asm__ ("subf%I3c %1,%4,%3\n\taddme %0,%2" \
: "=r" (sh), "=&r" (sl) : "r" (ah), "rI" (al), "r" (bl));\
else if (__builtin_constant_p (bh) && (bh) == ~(UDItype) 0) \
- __asm__ ("{sf%I3|subf%I3c} %1,%4,%3\n\t{aze|addze} %0,%2" \
+ __asm__ ("subf%I3c %1,%4,%3\n\taddze %0,%2" \
: "=r" (sh), "=&r" (sl) : "r" (ah), "rI" (al), "r" (bl));\
else \
- __asm__ ("{sf%I4|subf%I4c} %1,%5,%4\n\t{sfe|subfe} %0,%3,%2" \
+ __asm__ ("subf%I4c %1,%5,%4\n\tsubfe %0,%3,%2" \
: "=r" (sh), "=&r" (sl) \
: "r" (ah), "r" (bh), "rI" (al), "r" (bl)); \
} while (0)