OSDN Git Service

[toplevel]
authordj <dj@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 24 Jun 2009 04:16:25 +0000 (04:16 +0000)
committerdj <dj@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 24 Jun 2009 04:16:25 +0000 (04:16 +0000)
* MAINTAINERS: Add myself as mep maintainer.

[gcc]

Add MeP port.
* config.gcc: Add mep support.
* recog.c: Resurrect validate_replace_rtx_subexp().
* recog.h: Likewise.
* config/mep/: Add new port:
* config/mep/constraints.md: New file.
* config/mep/default.h: New file.
* config/mep/intrinsics.h: New file.
* config/mep/intrinsics.md: New file.
* config/mep/ivc2-template.h: New file.
* config/mep/mep-c5.cpu: New file.
* config/mep/mep-core.cpu: New file.
* config/mep/mep-default.cpu: New file.
* config/mep/mep-ext-cop.cpu: New file.
* config/mep/mep-intrin.h: New file.
* config/mep/mep-ivc2.cpu: New file.
* config/mep/mep-lib1.asm: New file.
* config/mep/mep-lib2.c: New file.
* config/mep/mep-pragma.c: New file.
* config/mep/mep-protos.h: New file.
* config/mep/mep-tramp.c: New file.
* config/mep/mep.c: New file.
* config/mep/mep.cpu: New file.
* config/mep/mep.h: New file.
* config/mep/mep.md: New file.
* config/mep/mep.opt: New file.
* config/mep/predicates.md: New file.
* config/mep/t-mep: New file.

[gcc/testsuite]

Add MeP port.
* lib/target-supports.exp: Add mep support (no profiling).

[libgcc]

Add MeP port.
* config.host: Add mep support.

[libstdc++-v3]

Add MeP port.
* configure.host: Add mep support.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148890 138bc75d-0d04-0410-961f-82ee72b054a4

35 files changed:
ChangeLog
MAINTAINERS
gcc/ChangeLog
gcc/config.gcc
gcc/config/mep/constraints.md [new file with mode: 0644]
gcc/config/mep/default.h [new file with mode: 0644]
gcc/config/mep/intrinsics.h [new file with mode: 0644]
gcc/config/mep/intrinsics.md [new file with mode: 0644]
gcc/config/mep/ivc2-template.h [new file with mode: 0644]
gcc/config/mep/mep-c5.cpu [new file with mode: 0644]
gcc/config/mep/mep-core.cpu [new file with mode: 0644]
gcc/config/mep/mep-default.cpu [new file with mode: 0644]
gcc/config/mep/mep-ext-cop.cpu [new file with mode: 0644]
gcc/config/mep/mep-intrin.h [new file with mode: 0644]
gcc/config/mep/mep-ivc2.cpu [new file with mode: 0644]
gcc/config/mep/mep-lib1.asm [new file with mode: 0644]
gcc/config/mep/mep-lib2.c [new file with mode: 0644]
gcc/config/mep/mep-pragma.c [new file with mode: 0644]
gcc/config/mep/mep-protos.h [new file with mode: 0644]
gcc/config/mep/mep-tramp.c [new file with mode: 0644]
gcc/config/mep/mep.c [new file with mode: 0644]
gcc/config/mep/mep.cpu [new file with mode: 0644]
gcc/config/mep/mep.h [new file with mode: 0644]
gcc/config/mep/mep.md [new file with mode: 0644]
gcc/config/mep/mep.opt [new file with mode: 0644]
gcc/config/mep/predicates.md [new file with mode: 0644]
gcc/config/mep/t-mep [new file with mode: 0644]
gcc/recog.c
gcc/recog.h
gcc/testsuite/ChangeLog
gcc/testsuite/lib/target-supports.exp
libgcc/ChangeLog
libgcc/config.host
libstdc++-v3/ChangeLog
libstdc++-v3/configure.host

index 4059ec1..f78f518 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2009-06-23  DJ Delorie  <dj@redhat.com>
+
+       * MAINTAINERS: Add myself as mep maintainer.
+
 2009-06-23  Ian Lance Taylor  <iant@google.com>
 
        * configure.ac: Add --enable-build-with-cxx.  When set, add c++ to
index 4f43ed3..c5cc66b 100644 (file)
@@ -69,6 +69,7 @@ m68k port (?)         Jeff Law                law@redhat.com
 m68k port              Andreas Schwab          schwab@linux-m68k.org
 m68k-motorola-sysv port        Philippe De Muyter      phdm@macqel.be
 mcore port             Nick Clifton            nickc@redhat.com
+mep port               DJ Delorie              dj@redhat.com
 mips port              Eric Christopher        echristo@apple.com
 mips port              Richard Sandiford       rdsandiford@googlemail.com
 mmix port              Hans-Peter Nilsson      hp@bitrange.com
index e1f70c9..0d8c09d 100644 (file)
@@ -1,3 +1,34 @@
+2009-06-23  DJ Delorie  <dj@redhat.com>
+
+       Add MeP port.
+       * config.gcc: Add mep support.
+       * recog.c: Resurrect validate_replace_rtx_subexp().
+       * recog.h: Likewise.
+       * config/mep/: Add new port:
+       * config/mep/constraints.md: New file.
+       * config/mep/default.h: New file.
+       * config/mep/intrinsics.h: New file.
+       * config/mep/intrinsics.md: New file.
+       * config/mep/ivc2-template.h: New file.
+       * config/mep/mep-c5.cpu: New file.
+       * config/mep/mep-core.cpu: New file.
+       * config/mep/mep-default.cpu: New file.
+       * config/mep/mep-ext-cop.cpu: New file.
+       * config/mep/mep-intrin.h: New file.
+       * config/mep/mep-ivc2.cpu: New file.
+       * config/mep/mep-lib1.asm: New file.
+       * config/mep/mep-lib2.c: New file.
+       * config/mep/mep-pragma.c: New file.
+       * config/mep/mep-protos.h: New file.
+       * config/mep/mep-tramp.c: New file.
+       * config/mep/mep.c: New file.
+       * config/mep/mep.cpu: New file.
+       * config/mep/mep.h: New file.
+       * config/mep/mep.md: New file.
+       * config/mep/mep.opt: New file.
+       * config/mep/predicates.md: New file.
+       * config/mep/t-mep: New file.
+
 2009-06-23  Ian Lance Taylor  <iant@google.com>
 
        * configure.ac: Invoke AC_PROG_CXX.  Separate C specific warnings
index 19afd1c..e578737 100644 (file)
@@ -1562,6 +1562,18 @@ mcore-*-pe*)
        inhibit_libc=true
        use_gcc_stdint=wrap
        ;;
+mep-*-*)
+       tm_file="dbxelf.h elfos.h svr4.h ${tm_file}"
+       tmake_file=mep/t-mep
+       extra_parts="crtbegin.o crtend.o"
+       c_target_objs="mep-pragma.o"
+       cxx_target_objs="mep-pragma.o"
+       if test -d "${srcdir}/../newlib/libc/include" &&
+          test "x$with_headers" = x; then
+               with_headers=yes
+       fi
+       use_gcc_stdint=wrap
+       ;;
 mips-sgi-irix[56]*)
        tm_file="elfos.h ${tm_file} mips/iris.h"
        tmake_file="mips/t-iris mips/t-slibgcc-irix"
diff --git a/gcc/config/mep/constraints.md b/gcc/config/mep/constraints.md
new file mode 100644 (file)
index 0000000..5aa2de6
--- /dev/null
@@ -0,0 +1,162 @@
+;; Toshiba Media Processor Machine constraints
+;; Copyright (C) 2009 Free Software Foundation, Inc.
+;; Contributed by Red Hat Inc.
+;;
+;; This file is part of GCC.
+;;
+;; GCC is free software; you can redistribute it and/or modify it
+;; under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 3, or (at your option)
+;; any later version.
+;;
+;; GCC is distributed in the hope that it will be useful, but WITHOUT
+;; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+;; or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
+;; License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with GCC; see the file COPYING3.  If not see
+;; <http://www.gnu.org/licenses/>.  */
+
+
+
+(define_register_constraint "a" "SP_REGS"
+  "The $sp register.")
+
+(define_register_constraint "b" "TP_REGS"
+  "The $tp register.")
+
+(define_register_constraint "c" "CONTROL_REGS"
+  "Any control register.")
+
+(define_register_constraint "d" "HILO_REGS"
+  "Either the $hi or the $lo register.")
+
+(define_register_constraint "em" "LOADABLE_CR_REGS"
+  "Coprocessor registers that can be directly loaded ($c0-$c15).")
+
+(define_register_constraint "ex" "mep_have_copro_copro_moves_p ? CR_REGS : NO_REGS"
+  "Coprocessor registers that can be moved to each other.")
+
+(define_register_constraint "er" "mep_have_core_copro_moves_p ? CR_REGS : NO_REGS"
+  "Coprocessor registers that can be moved to core registers.")
+
+(define_register_constraint "h" "HI_REGS"
+  "The $hi register.")
+
+(define_register_constraint "j" "RPC_REGS"
+  "The $rpc register.")
+
+(define_register_constraint "l" "LO_REGS"
+  "The $lo register.")
+
+(define_register_constraint "t" "TPREL_REGS"
+  "Registers which can be used in $tp-relative addressing.")
+
+(define_register_constraint "v" "GP_REGS"
+  "The $gp register.")
+
+(define_register_constraint "x" "CR_REGS"
+  "The coprocessor registers.")
+
+(define_register_constraint "y" "CCR_REGS"
+  "The coprocessor control registers.")
+
+(define_register_constraint "z" "R0_REGS"
+  "The $0 register.")
+
+(define_register_constraint "A" "USER0_REGS"
+  "User-defined register set A.")
+
+(define_register_constraint "B" "USER1_REGS"
+  "User-defined register set B.")
+
+(define_register_constraint "C" "USER2_REGS"
+  "User-defined register set C.")
+
+(define_register_constraint "D" "USER3_REGS"
+  "User-defined register set D.")
+
+
+
+(define_constraint "I"
+  "Offsets for $gp-rel addressing."
+  (and (match_code "const_int")
+       (match_test "ival >= -32768 && ival < 32768")))
+
+(define_constraint "J"
+  "Constants that can be used directly with boolean insns."
+  (and (match_code "const_int")
+       (match_test "ival >= 0 && ival < 65536")))
+
+(define_constraint "K"
+  "Constants that can be moved directly to registers."
+  (and (match_code "const_int")
+       (match_test "ival >= 0 && ival < 0x01000000")))
+
+(define_constraint "L"
+  "Small constants that can be added to registers."
+  (and (match_code "const_int")
+       (match_test "ival >= -32 && ival < 32")))
+
+(define_constraint "M"
+  "Long shift counts."
+  (and (match_code "const_int")
+       (match_test "ival >= 0 && ival < 32")))
+
+(define_constraint "N"
+  "Small constants that can be compared to registers."
+  (and (match_code "const_int")
+       (match_test "ival >= 0 && ival < 16")))
+
+(define_constraint "O"
+  "Constants that can be loaded into the top half of registers."
+  (and (match_code "const_int")
+       (match_test "!(ival & 0xffff) && ival >= -2147483647-1 && ival <= 2147483647")))
+
+(define_constraint "S"
+  "Signed 8-bit immediates."
+  (and (match_code "const_int")
+       (match_test "ival >= -128 && ival < 127")))
+
+
+
+;; This must only be used with mep_call_address_operand() as the predicate.
+(define_constraint "R"
+  "@internal
+Near symbols that can be used as addresses for CALL."
+  (not (match_code "reg")))
+
+(define_constraint "T"
+  "Symbols encoded for $tp-rel or $gp-rel addressing."
+  (ior (ior
+       (and (match_code "unspec")
+            (match_code "symbol_ref" "a"))
+       (and (match_code "const")
+            (and (match_code "unspec" "0")
+                 (match_code "symbol_ref" "0a"))))
+       (and (match_code "const")
+           (and (match_code "plus" "0")
+                (and (match_code "unspec" "00")
+                     (match_code "symbol_ref" "00a"))))))
+
+(define_constraint "U"
+  "Non-constant addresses for loading/saving coprocessor registers."
+  (and (match_code "mem")
+       (match_test "! CONSTANT_P (XEXP (op, 0))")))
+
+(define_constraint "W"
+  "The top half of a symbol's value."
+  (and (match_code "high")
+       (match_code "symbol_ref" "0")))
+
+(define_constraint "Y"
+  "A register indirect address without offset."
+  (and (match_code "mem")
+       (match_code "reg" "0")))
+
+(define_constraint "Z"
+  "Symbolic references to the control bus."
+  (and (and (match_code "mem")
+           (match_code "symbol_ref" "0"))
+       (match_test "mep_section_tag (op) == 'c'")))
diff --git a/gcc/config/mep/default.h b/gcc/config/mep/default.h
new file mode 100644 (file)
index 0000000..f535972
--- /dev/null
@@ -0,0 +1,10 @@
+/* Header created by MeP-Integrator */
+#undef __section
+#define __section(_secname) __attribute__((section(#_secname)))
+#undef mep_nop
+#define mep_nop() __asm__ volatile ("nop")
+
+#pragma GCC coprocessor available $c0...$c31
+#pragma GCC coprocessor call_saved $c6...$c7
+
+#include <intrinsics.h>
diff --git a/gcc/config/mep/intrinsics.h b/gcc/config/mep/intrinsics.h
new file mode 100644 (file)
index 0000000..e1b30e5
--- /dev/null
@@ -0,0 +1,626 @@
+
+
+/* DO NOT EDIT: This file is automatically generated by CGEN.
+   Any changes you make will be discarded when it is next regenerated.
+*/
+
+/* GCC defines these internally, as follows... 
+#if __MEP_CONFIG_CP_DATA_BUS_WIDTH == 64
+  typedef long long cp_data_bus_int;
+#else
+  typedef long cp_data_bus_int;
+#endif
+typedef          char  cp_v8qi  __attribute__((vector_size(8)));
+typedef unsigned char  cp_v8uqi __attribute__((vector_size(8)));
+typedef          short cp_v4hi  __attribute__((vector_size(8)));
+typedef unsigned short cp_v4uhi __attribute__((vector_size(8)));
+typedef          int   cp_v2si  __attribute__((vector_size(8)));
+typedef unsigned int   cp_v2usi __attribute__((vector_size(8)));
+*/
+
+
+// default
+void mep_cpfmadila1_h (cp_v4hi, cp_v4hi, long, long);
+void mep_cpfmadiua1_h (cp_v4hi, cp_v4hi, long, long);
+void mep_cpfmadia1_b (cp_v8qi, cp_v8qi, long, long);
+void mep_cpfmadia1u_b (cp_v8uqi, cp_v8uqi, long, long);
+void mep_cpfmulila1_h (cp_v4hi, cp_v4hi, long, long);
+void mep_cpfmuliua1_h (cp_v4hi, cp_v4hi, long, long);
+void mep_cpfmulia1_b (cp_v8qi, cp_v8qi, long, long);
+void mep_cpfmulia1u_b (cp_v8uqi, cp_v8uqi, long, long);
+void mep_cpamadila1_h (cp_v4hi, cp_v4hi, long);
+void mep_cpamadiua1_h (cp_v4hi, cp_v4hi, long);
+void mep_cpamadia1_b (cp_v8qi, cp_v8qi, long);
+void mep_cpamadia1u_b (cp_v8uqi, cp_v8uqi, long);
+void mep_cpamulila1_h (cp_v4hi, cp_v4hi, long);
+void mep_cpamuliua1_h (cp_v4hi, cp_v4hi, long);
+void mep_cpamulia1_b (cp_v8qi, cp_v8qi, long);
+void mep_cpamulia1u_b (cp_v8uqi, cp_v8uqi, long);
+void mep_cpfmadila1s1_h (cp_v4hi, cp_v4hi, long);
+void mep_cpfmadiua1s1_h (cp_v4hi, cp_v4hi, long);
+void mep_cpfmadia1s1_b (cp_v8qi, cp_v8qi, long);
+void mep_cpfmadia1s1u_b (cp_v8uqi, cp_v8uqi, long);
+void mep_cpfmulila1s1_h (cp_v4hi, cp_v4hi, long);
+void mep_cpfmuliua1s1_h (cp_v4hi, cp_v4hi, long);
+void mep_cpfmulia1s1_b (cp_v8qi, cp_v8qi, long);
+void mep_cpfmulia1s1u_b (cp_v8uqi, cp_v8uqi, long);
+void mep_cpfmadila1s0_h (cp_v4hi, cp_v4hi, long);
+void mep_cpfmadiua1s0_h (cp_v4hi, cp_v4hi, long);
+void mep_cpfmadia1s0_b (cp_v8qi, cp_v8qi, long);
+void mep_cpfmadia1s0u_b (cp_v8uqi, cp_v8uqi, long);
+void mep_cpfmulila1s0_h (cp_v4hi, cp_v4hi, long);
+void mep_cpfmuliua1s0_h (cp_v4hi, cp_v4hi, long);
+void mep_cpfmulia1s0_b (cp_v8qi, cp_v8qi, long);
+void mep_cpfmulia1s0u_b (cp_v8uqi, cp_v8uqi, long);
+void mep_cpacswp ();                    // volatile
+void mep_cpaccpa1 ();
+void mep_cpacsuma1 ();
+void mep_c1nop ();                      // volatile
+void mep_cpfacla0s1_h (cp_v4hi, cp_v4hi);
+void mep_cpfacua0s1_h (cp_v4hi, cp_v4hi);
+void mep_cpfaca0s1_b (cp_v8qi, cp_v8qi);
+void mep_cpfaca0s1u_b (cp_v8uqi, cp_v8uqi);
+void mep_cpfsftbla0s1_h (cp_v4hi, cp_v4hi);
+void mep_cpfsftbua0s1_h (cp_v4hi, cp_v4hi);
+void mep_cpfsftba0s1_b (cp_v8qi, cp_v8qi);
+void mep_cpfsftba0s1u_b (cp_v8uqi, cp_v8uqi);
+void mep_cpfacla0s0_h (cp_v4hi, cp_v4hi);
+void mep_cpfacua0s0_h (cp_v4hi, cp_v4hi);
+void mep_cpfaca0s0_b (cp_v8qi, cp_v8qi);
+void mep_cpfaca0s0u_b (cp_v8uqi, cp_v8uqi);
+void mep_cpfsftbla0s0_h (cp_v4hi, cp_v4hi);
+void mep_cpfsftbua0s0_h (cp_v4hi, cp_v4hi);
+void mep_cpfsftba0s0_b (cp_v8qi, cp_v8qi);
+void mep_cpfsftba0s0u_b (cp_v8uqi, cp_v8uqi);
+void mep_cpsllia0 (long);
+void mep_cpsraia0 (long);
+void mep_cpsrlia0 (long);
+void mep_cpslla0 (cp_data_bus_int);
+void mep_cpsraa0 (cp_data_bus_int);
+void mep_cpsrla0 (cp_data_bus_int);
+void mep_cpaccpa0 ();
+void mep_cpacsuma0 ();
+cp_v2si mep_cpmovhla0_w ();
+cp_v2si mep_cpmovhua0_w ();
+cp_v2si mep_cppackla0_w ();
+cp_v2si mep_cppackua0_w ();
+cp_v4hi mep_cppackla0_h ();
+cp_v4hi mep_cppackua0_h ();
+cp_v8qi mep_cppacka0_b ();
+cp_v8uqi mep_cppacka0u_b ();
+cp_v2si mep_cpmovlla0_w ();
+cp_v2si mep_cpmovlua0_w ();
+cp_v2si mep_cpmovula0_w ();
+cp_v2si mep_cpmovuua0_w ();
+cp_v4hi mep_cpmovla0_h ();
+cp_v4hi mep_cpmovua0_h ();
+cp_v8qi mep_cpmova0_b ();
+void mep_cpsetla0_w (cp_v2si, cp_v2si);
+void mep_cpsetua0_w (cp_v2si, cp_v2si);
+void mep_cpseta0_h (cp_v4hi, cp_v4hi);
+void mep_cpsadla0_h (cp_v4hi, cp_v4hi);
+void mep_cpsadua0_h (cp_v4hi, cp_v4hi);
+void mep_cpsada0_b (cp_v8qi, cp_v8qi);
+void mep_cpsada0u_b (cp_v8uqi, cp_v8uqi);
+void mep_cpabsla0_h (cp_v4hi, cp_v4hi);
+void mep_cpabsua0_h (cp_v4hi, cp_v4hi);
+void mep_cpabsa0_b (cp_v8qi, cp_v8qi);
+void mep_cpabsa0u_b (cp_v8uqi, cp_v8uqi);
+void mep_cpsubacla0_h (cp_v4hi, cp_v4hi);
+void mep_cpsubacua0_h (cp_v4hi, cp_v4hi);
+void mep_cpsubaca0_b (cp_v8qi, cp_v8qi);
+void mep_cpsubaca0u_b (cp_v8uqi, cp_v8uqi);
+void mep_cpsubla0_h (cp_v4hi, cp_v4hi);
+void mep_cpsubua0_h (cp_v4hi, cp_v4hi);
+void mep_cpsuba0_b (cp_v8qi, cp_v8qi);
+void mep_cpsuba0u_b (cp_v8uqi, cp_v8uqi);
+void mep_cpaddacla0_h (cp_v4hi, cp_v4hi);
+void mep_cpaddacua0_h (cp_v4hi, cp_v4hi);
+void mep_cpaddaca0_b (cp_v8qi, cp_v8qi);
+void mep_cpaddaca0u_b (cp_v8uqi, cp_v8uqi);
+void mep_cpaddla0_h (cp_v4hi, cp_v4hi);
+void mep_cpaddua0_h (cp_v4hi, cp_v4hi);
+void mep_cpadda0_b (cp_v8qi, cp_v8qi);
+void mep_cpadda0u_b (cp_v8uqi, cp_v8uqi);
+void mep_c0nop ();                      // volatile
+void mep_cpsmsbslla1_w (cp_v2si, cp_v2si);
+void mep_cpsmsbslua1_w (cp_v2si, cp_v2si);
+void mep_cpsmsbslla1_h (cp_v4hi, cp_v4hi);
+void mep_cpsmsbslua1_h (cp_v4hi, cp_v4hi);
+void mep_cpsmadslla1_w (cp_v2si, cp_v2si);
+void mep_cpsmadslua1_w (cp_v2si, cp_v2si);
+void mep_cpsmadslla1_h (cp_v4hi, cp_v4hi);
+void mep_cpsmadslua1_h (cp_v4hi, cp_v4hi);
+void mep_cpmulslla1_w (cp_v2si, cp_v2si);
+void mep_cpmulslua1_w (cp_v2si, cp_v2si);
+void mep_cpmulslla1_h (cp_v4hi, cp_v4hi);
+void mep_cpmulslua1_h (cp_v4hi, cp_v4hi);
+void mep_cpsmsbla1_w (cp_v2si, cp_v2si);
+void mep_cpsmsbua1_w (cp_v2si, cp_v2si);
+void mep_cpsmsbla1_h (cp_v4hi, cp_v4hi);
+void mep_cpsmsbua1_h (cp_v4hi, cp_v4hi);
+void mep_cpsmadla1_w (cp_v2si, cp_v2si);
+void mep_cpsmadua1_w (cp_v2si, cp_v2si);
+void mep_cpsmadla1_h (cp_v4hi, cp_v4hi);
+void mep_cpsmadua1_h (cp_v4hi, cp_v4hi);
+void mep_cpmsbla1_w (cp_v2si, cp_v2si);
+void mep_cpmsbua1_w (cp_v2si, cp_v2si);
+void mep_cpmsbla1u_w (cp_v2usi, cp_v2usi);
+void mep_cpmsbua1u_w (cp_v2usi, cp_v2usi);
+void mep_cpmsbla1_h (cp_v4hi, cp_v4hi);
+void mep_cpmsbua1_h (cp_v4hi, cp_v4hi);
+void mep_cpmadla1_w (cp_v2si, cp_v2si);
+void mep_cpmadua1_w (cp_v2si, cp_v2si);
+void mep_cpmadla1u_w (cp_v2usi, cp_v2usi);
+void mep_cpmadua1u_w (cp_v2usi, cp_v2usi);
+void mep_cpmadla1_h (cp_v4hi, cp_v4hi);
+void mep_cpmadua1_h (cp_v4hi, cp_v4hi);
+void mep_cpmada1_b (cp_v8qi, cp_v8qi);
+void mep_cpmada1u_b (cp_v8uqi, cp_v8uqi);
+void mep_cpmulla1_w (cp_v2si, cp_v2si);
+void mep_cpmulua1_w (cp_v2si, cp_v2si);
+void mep_cpmulla1u_w (cp_v2usi, cp_v2usi);
+void mep_cpmulua1u_w (cp_v2usi, cp_v2usi);
+void mep_cpmulla1_h (cp_v4hi, cp_v4hi);
+void mep_cpmulua1_h (cp_v4hi, cp_v4hi);
+void mep_cpmula1_b (cp_v8qi, cp_v8qi);
+void mep_cpmula1u_b (cp_v8uqi, cp_v8uqi);
+void mep_cpssda1_b (cp_v8qi, cp_v8qi);
+void mep_cpssda1u_b (cp_v8uqi, cp_v8uqi);
+void mep_cpssqa1_b (cp_v8qi, cp_v8qi);
+void mep_cpssqa1u_b (cp_v8uqi, cp_v8uqi);
+void mep_cpsllia1 (long);
+void mep_cpsraia1 (long);
+void mep_cpsrlia1 (long);
+void mep_cpslla1 (cp_data_bus_int);
+void mep_cpsraa1 (cp_data_bus_int);
+void mep_cpsrla1 (cp_data_bus_int);
+cp_v2si mep_cpmovhla1_w ();
+cp_v2si mep_cpmovhua1_w ();
+cp_v2si mep_cppackla1_w ();
+cp_v2si mep_cppackua1_w ();
+cp_v4hi mep_cppackla1_h ();
+cp_v4hi mep_cppackua1_h ();
+cp_v8qi mep_cppacka1_b ();
+cp_v8uqi mep_cppacka1u_b ();
+cp_v2si mep_cpmovlla1_w ();
+cp_v2si mep_cpmovlua1_w ();
+cp_v2si mep_cpmovula1_w ();
+cp_v2si mep_cpmovuua1_w ();
+cp_v4hi mep_cpmovla1_h ();
+cp_v4hi mep_cpmovua1_h ();
+cp_v8qi mep_cpmova1_b ();
+void mep_cpsetla1_w (cp_v2si, cp_v2si);
+void mep_cpsetua1_w (cp_v2si, cp_v2si);
+void mep_cpseta1_h (cp_v4hi, cp_v4hi);
+void mep_cpsadla1_h (cp_v4hi, cp_v4hi);
+void mep_cpsadua1_h (cp_v4hi, cp_v4hi);
+void mep_cpsada1_b (cp_v8qi, cp_v8qi);
+void mep_cpsada1u_b (cp_v8uqi, cp_v8uqi);
+void mep_cpabsla1_h (cp_v4hi, cp_v4hi);
+void mep_cpabsua1_h (cp_v4hi, cp_v4hi);
+void mep_cpabsa1_b (cp_v8qi, cp_v8qi);
+void mep_cpabsa1u_b (cp_v8uqi, cp_v8uqi);
+void mep_cpsubacla1_h (cp_v4hi, cp_v4hi);
+void mep_cpsubacua1_h (cp_v4hi, cp_v4hi);
+void mep_cpsubaca1_b (cp_v8qi, cp_v8qi);
+void mep_cpsubaca1u_b (cp_v8uqi, cp_v8uqi);
+void mep_cpsubla1_h (cp_v4hi, cp_v4hi);
+void mep_cpsubua1_h (cp_v4hi, cp_v4hi);
+void mep_cpsuba1_b (cp_v8qi, cp_v8qi);
+void mep_cpsuba1u_b (cp_v8uqi, cp_v8uqi);
+void mep_cpaddacla1_h (cp_v4hi, cp_v4hi);
+void mep_cpaddacua1_h (cp_v4hi, cp_v4hi);
+void mep_cpaddaca1_b (cp_v8qi, cp_v8qi);
+void mep_cpaddaca1u_b (cp_v8uqi, cp_v8uqi);
+void mep_cpaddla1_h (cp_v4hi, cp_v4hi);
+void mep_cpaddua1_h (cp_v4hi, cp_v4hi);
+void mep_cpadda1_b (cp_v8qi, cp_v8qi);
+void mep_cpadda1u_b (cp_v8uqi, cp_v8uqi);
+cp_data_bus_int mep_cdmovi (long);
+cp_data_bus_int mep_cdmoviu (long);
+cp_v2si mep_cpmovi_w (long);
+cp_v2usi mep_cpmoviu_w (long);
+cp_v4hi mep_cpmovi_h (long);
+cp_v4uhi mep_cpmoviu_h (long);
+cp_v8qi mep_cpmovi_b (long);
+cp_data_bus_int mep_cdclipi3 (cp_data_bus_int, long);
+cp_data_bus_int mep_cdclipiu3 (cp_data_bus_int, long);
+cp_v2si mep_cpclipi3_w (cp_v2si, long);
+cp_v2si mep_cpclipiu3_w (cp_v2si, long);
+cp_v2si mep_cpslai3_w (cp_v2si, long);
+cp_v4hi mep_cpslai3_h (cp_v4hi, long);
+cp_data_bus_int mep_cdslli3 (cp_data_bus_int, long);
+cp_v2si mep_cpslli3_w (cp_v2si, long);
+cp_v4hi mep_cpslli3_h (cp_v4hi, long);
+cp_v8qi mep_cpslli3_b (cp_v8qi, long);
+cp_data_bus_int mep_cdsrai3 (cp_data_bus_int, long);
+cp_v2si mep_cpsrai3_w (cp_v2si, long);
+cp_v4hi mep_cpsrai3_h (cp_v4hi, long);
+cp_v8qi mep_cpsrai3_b (cp_v8qi, long);
+cp_data_bus_int mep_cdsrli3 (cp_data_bus_int, long);
+cp_v2si mep_cpsrli3_w (cp_v2si, long);
+cp_v4hi mep_cpsrli3_h (cp_v4hi, long);
+cp_v8qi mep_cpsrli3_b (cp_v8qi, long);
+void mep_cpocmpge_w (cp_v2si, cp_v2si); // volatile
+void mep_cpocmpgeu_w (cp_v2usi, cp_v2usi); // volatile
+void mep_cpocmpge_h (cp_v4hi, cp_v4hi); // volatile
+void mep_cpocmpge_b (cp_v8qi, cp_v8qi); // volatile
+void mep_cpocmpgeu_b (cp_v8uqi, cp_v8uqi); // volatile
+void mep_cpocmpgt_w (cp_v2si, cp_v2si); // volatile
+void mep_cpocmpgtu_w (cp_v2usi, cp_v2usi); // volatile
+void mep_cpocmpgt_h (cp_v4hi, cp_v4hi); // volatile
+void mep_cpocmpgt_b (cp_v8qi, cp_v8qi); // volatile
+void mep_cpocmpgtu_b (cp_v8uqi, cp_v8uqi); // volatile
+void mep_cpocmpne_w (cp_v2si, cp_v2si); // volatile
+void mep_cpocmpne_h (cp_v4hi, cp_v4hi); // volatile
+void mep_cpocmpne_b (cp_v8qi, cp_v8qi); // volatile
+void mep_cpocmpeq_w (cp_v2si, cp_v2si); // volatile
+void mep_cpocmpeq_h (cp_v4hi, cp_v4hi); // volatile
+void mep_cpocmpeq_b (cp_v8qi, cp_v8qi); // volatile
+void mep_cpacmpge_w (cp_v2si, cp_v2si); // volatile
+void mep_cpacmpgeu_w (cp_v2usi, cp_v2usi); // volatile
+void mep_cpacmpge_h (cp_v4hi, cp_v4hi); // volatile
+void mep_cpacmpge_b (cp_v8qi, cp_v8qi); // volatile
+void mep_cpacmpgeu_b (cp_v8uqi, cp_v8uqi); // volatile
+void mep_cpacmpgt_w (cp_v2si, cp_v2si); // volatile
+void mep_cpacmpgtu_w (cp_v2usi, cp_v2usi); // volatile
+void mep_cpacmpgt_h (cp_v4hi, cp_v4hi); // volatile
+void mep_cpacmpgt_b (cp_v8qi, cp_v8qi); // volatile
+void mep_cpacmpgtu_b (cp_v8uqi, cp_v8uqi); // volatile
+void mep_cpacmpne_w (cp_v2si, cp_v2si); // volatile
+void mep_cpacmpne_h (cp_v4hi, cp_v4hi); // volatile
+void mep_cpacmpne_b (cp_v8qi, cp_v8qi); // volatile
+void mep_cpacmpeq_w (cp_v2si, cp_v2si); // volatile
+void mep_cpacmpeq_h (cp_v4hi, cp_v4hi); // volatile
+void mep_cpacmpeq_b (cp_v8qi, cp_v8qi); // volatile
+void mep_cpcmpge_w (cp_v2si, cp_v2si);
+void mep_cpcmpgeu_w (cp_v2usi, cp_v2usi);
+void mep_cpcmpge_h (cp_v4hi, cp_v4hi);
+void mep_cpcmpge_b (cp_v8qi, cp_v8qi);
+void mep_cpcmpgeu_b (cp_v8uqi, cp_v8uqi);
+void mep_cpcmpgt_w (cp_v2si, cp_v2si);
+void mep_cpcmpgtu_w (cp_v2usi, cp_v2usi);
+void mep_cpcmpgt_h (cp_v4hi, cp_v4hi);
+void mep_cpcmpgt_b (cp_v8qi, cp_v8qi);
+void mep_cpcmpgtu_b (cp_v8uqi, cp_v8uqi);
+void mep_cpcmpne_w (cp_v2si, cp_v2si);
+void mep_cpcmpne_h (cp_v4hi, cp_v4hi);
+void mep_cpcmpne_b (cp_v8qi, cp_v8qi);
+void mep_cpcmpeq_w (cp_v2si, cp_v2si);
+void mep_cpcmpeq_h (cp_v4hi, cp_v4hi);
+void mep_cpcmpeq_b (cp_v8qi, cp_v8qi);
+void mep_cpcmpeqz_b (cp_v8qi, cp_v8qi);
+cp_data_bus_int mep_cdcastw (cp_data_bus_int);
+cp_data_bus_int mep_cdcastuw (cp_data_bus_int);
+cp_v2si mep_cpcasth_w (cp_v2si);
+cp_v2si mep_cpcastuh_w (cp_v2si);
+cp_v2si mep_cpcastb_w (cp_v2si);
+cp_v2si mep_cpcastub_w (cp_v2si);
+cp_v4hi mep_cpcastb_h (cp_v4hi);
+cp_v4hi mep_cpcastub_h (cp_v4hi);
+cp_v4hi mep_cpextl_h (cp_v4hi);
+cp_v4uhi mep_cpextlu_h (cp_v4uhi);
+cp_v8qi mep_cpextl_b (cp_v8qi);
+cp_v8uqi mep_cpextlu_b (cp_v8uqi);
+cp_v4uhi mep_cpextu_h (cp_v4uhi);
+cp_v4uhi mep_cpextuu_h (cp_v4uhi);
+cp_v8uqi mep_cpextu_b (cp_v8uqi);
+cp_v8uqi mep_cpextuu_b (cp_v8uqi);
+cp_v2si mep_cpbcast_w (cp_v2si);
+cp_v4hi mep_cpbcast_h (cp_v4hi);
+cp_v8qi mep_cpbcast_b (cp_v8qi);
+void mep_cpccadd_b (cp_v8qi*);
+cp_v2si mep_cphadd_w (cp_v2si);
+cp_v4hi mep_cphadd_h (cp_v4hi);
+cp_v8qi mep_cphadd_b (cp_v8qi);
+cp_v8uqi mep_cphaddu_b (cp_v8uqi);
+cp_v2si mep_cpnorm_w (cp_v2si);
+cp_v4hi mep_cpnorm_h (cp_v4hi);
+cp_v2si mep_cpldz_w (cp_v2si);
+cp_v4hi mep_cpldz_h (cp_v4hi);
+cp_v2si mep_cpabsz_w (cp_v2si);
+cp_v4hi mep_cpabsz_h (cp_v4hi);
+cp_v8qi mep_cpabsz_b (cp_v8qi);
+void mep_cpmovtocc (cp_data_bus_int);   // volatile
+void mep_cpmovtocsar1 (cp_data_bus_int); // volatile
+void mep_cpmovtocsar0 (cp_data_bus_int); // volatile
+cp_data_bus_int mep_cpmovfrcc ();
+cp_data_bus_int mep_cpmovfrcsar1 ();
+cp_data_bus_int mep_cpmovfrcsar0 ();
+cp_v2si mep_cpmin3_w (cp_v2si, cp_v2si);
+cp_v2si mep_cpminu3_w (cp_v2si, cp_v2si);
+cp_v4hi mep_cpmin3_h (cp_v4hi, cp_v4hi);
+cp_v8qi mep_cpmin3_b (cp_v8qi, cp_v8qi);
+cp_v8qi mep_cpminu3_b (cp_v8qi, cp_v8qi);
+cp_v2si mep_cpmax3_w (cp_v2si, cp_v2si);
+cp_v2si mep_cpmaxu3_w (cp_v2si, cp_v2si);
+cp_v4hi mep_cpmax3_h (cp_v4hi, cp_v4hi);
+cp_v8qi mep_cpmax3_b (cp_v8qi, cp_v8qi);
+cp_v8qi mep_cpmaxu3_b (cp_v8qi, cp_v8qi);
+cp_v4hi mep_cpabs3_h (cp_v4hi, cp_v4hi);
+cp_v8qi mep_cpabs3_b (cp_v8qi, cp_v8qi);
+cp_v8qi mep_cpabsu3_b (cp_v8qi, cp_v8qi);
+cp_v2si mep_cpaddsr3_w (cp_v2si, cp_v2si);
+cp_v4hi mep_cpaddsr3_h (cp_v4hi, cp_v4hi);
+cp_v8qi mep_cpaddsr3_b (cp_v8qi, cp_v8qi);
+cp_v8qi mep_cpaddsru3_b (cp_v8qi, cp_v8qi);
+cp_v2si mep_cpave3_w (cp_v2si, cp_v2si);
+cp_v4hi mep_cpave3_h (cp_v4hi, cp_v4hi);
+cp_v8qi mep_cpave3_b (cp_v8qi, cp_v8qi);
+cp_v8qi mep_cpaveu3_b (cp_v8qi, cp_v8qi);
+cp_v8qi mep_cpextlsub3_b (cp_v8qi, cp_v8qi);
+cp_v8qi mep_cpextlsubu3_b (cp_v8qi, cp_v8qi);
+cp_v8qi mep_cpextusub3_b (cp_v8qi, cp_v8qi);
+cp_v8qi mep_cpextusubu3_b (cp_v8qi, cp_v8qi);
+cp_v8qi mep_cpextladd3_b (cp_v8qi, cp_v8qi);
+cp_v8qi mep_cpextladdu3_b (cp_v8qi, cp_v8qi);
+cp_v8qi mep_cpextuadd3_b (cp_v8qi, cp_v8qi);
+cp_v8qi mep_cpextuaddu3_b (cp_v8qi, cp_v8qi);
+cp_v2si mep_cpssub3_w (cp_v2si, cp_v2si);
+cp_v4hi mep_cpssub3_h (cp_v4hi, cp_v4hi);
+cp_v2si mep_cpsadd3_w (cp_v2si, cp_v2si);
+cp_v4hi mep_cpsadd3_h (cp_v4hi, cp_v4hi);
+cp_v2si mep_cpsla3_w (cp_v2si, cp_v2si);
+cp_v4hi mep_cpsla3_h (cp_v4hi, cp_v4hi);
+cp_data_bus_int mep_cdsll3 (cp_data_bus_int, cp_data_bus_int);
+cp_v2si mep_cpssll3_w (cp_v2si, cp_v2si);
+cp_v2si mep_cpsll3_w (cp_v2si, cp_v2si);
+cp_v4hi mep_cpssll3_h (cp_v4hi, cp_v4hi);
+cp_v4hi mep_cpsll3_h (cp_v4hi, cp_v4hi);
+cp_v8qi mep_cpssll3_b (cp_v8qi, cp_v8qi);
+cp_v8qi mep_cpsll3_b (cp_v8qi, cp_v8qi);
+cp_data_bus_int mep_cdsra3 (cp_data_bus_int, cp_data_bus_int);
+cp_v2si mep_cpssra3_w (cp_v2si, cp_v2si);
+cp_v2si mep_cpsra3_w (cp_v2si, cp_v2si);
+cp_v4hi mep_cpssra3_h (cp_v4hi, cp_v4hi);
+cp_v4hi mep_cpsra3_h (cp_v4hi, cp_v4hi);
+cp_v8qi mep_cpssra3_b (cp_v8qi, cp_v8qi);
+cp_v8qi mep_cpsra3_b (cp_v8qi, cp_v8qi);
+cp_data_bus_int mep_cdsrl3 (cp_data_bus_int, cp_data_bus_int);
+cp_v2si mep_cpssrl3_w (cp_v2si, cp_v2si);
+cp_v2si mep_cpsrl3_w (cp_v2si, cp_v2si);
+cp_v4hi mep_cpssrl3_h (cp_v4hi, cp_v4hi);
+cp_v4hi mep_cpsrl3_h (cp_v4hi, cp_v4hi);
+cp_v8qi mep_cpssrl3_b (cp_v8qi, cp_v8qi);
+cp_v8qi mep_cpsrl3_b (cp_v8qi, cp_v8qi);
+cp_v4hi mep_cppack_h (cp_v4hi, cp_v4hi);
+cp_v8qi mep_cppack_b (cp_v8qi, cp_v8qi);
+cp_v8uqi mep_cppacku_b (cp_v8uqi, cp_v8uqi);
+cp_v2si mep_cpunpackl_w (cp_v2si, cp_v2si);
+cp_v4hi mep_cpunpackl_h (cp_v4hi, cp_v4hi);
+cp_v8qi mep_cpunpackl_b (cp_v8qi, cp_v8qi);
+cp_v2usi mep_cpunpacku_w (cp_v2usi, cp_v2usi);
+cp_v4uhi mep_cpunpacku_h (cp_v4uhi, cp_v4uhi);
+cp_v8uqi mep_cpunpacku_b (cp_v8uqi, cp_v8uqi);
+cp_data_bus_int mep_cpfsftbs1 (cp_data_bus_int, cp_data_bus_int);
+cp_data_bus_int mep_cpfsftbs0 (cp_data_bus_int, cp_data_bus_int);
+cp_data_bus_int mep_cpfsftbi (cp_data_bus_int, cp_data_bus_int, long);
+cp_data_bus_int mep_cpsel (cp_data_bus_int, cp_data_bus_int);
+cp_vector mep_cpxor3 (cp_vector, cp_vector);
+cp_vector mep_cpnor3 (cp_vector, cp_vector);
+cp_vector mep_cpor3 (cp_vector, cp_vector);
+cp_vector mep_cpand3 (cp_vector, cp_vector);
+cp_data_bus_int mep_cdsub3 (cp_data_bus_int, cp_data_bus_int);
+cp_v2si mep_cpsub3_w (cp_v2si, cp_v2si);
+cp_v4hi mep_cpsub3_h (cp_v4hi, cp_v4hi);
+cp_v8qi mep_cpsub3_b (cp_v8qi, cp_v8qi);
+cp_data_bus_int mep_cdadd3 (cp_data_bus_int, cp_data_bus_int);
+cp_v2si mep_cpadd3_w (cp_v2si, cp_v2si);
+cp_v4hi mep_cpadd3_h (cp_v4hi, cp_v4hi);
+cp_v8qi mep_cpadd3_b (cp_v8qi, cp_v8qi);
+void mep_cmovh_rn_crm_p0 (long, long);  // volatile
+void mep_cmovh_crn_rm_p0 (long, long);  // volatile
+void mep_cmovc_rn_ccrm_p0 (long, long); // volatile
+void mep_cmovc_ccrn_rm_p0 (long, long); // volatile
+void mep_cmov_rn_crm_p0 (long, long);   // volatile
+void mep_cmov_crn_rm_p0 (long, long);   // volatile
+void mep_bsrv (void *);
+void mep_jsrv (long);
+void mep_synccp ();                     // volatile
+void mep_bcpaf (long, void *);
+void mep_bcpat (long, void *);
+void mep_bcpne (long, void *);
+void mep_bcpeq (long, void *);
+void mep_lmcpm1 (cp_data_bus_int*, long **, long);
+void mep_smcpm1 (cp_data_bus_int, long **, long);
+void mep_lwcpm1 (cp_data_bus_int*, long **, long);
+void mep_swcpm1 (cp_data_bus_int, long **, long);
+void mep_lhcpm1 (cp_data_bus_int*, long **, long);
+void mep_shcpm1 (cp_data_bus_int, long **, long);
+void mep_lbcpm1 (cp_data_bus_int*, long **, long);
+void mep_sbcpm1 (cp_data_bus_int, long **, long);
+void mep_lmcpm0 (cp_data_bus_int*, long **, long);
+void mep_smcpm0 (cp_data_bus_int, long **, long);
+void mep_lwcpm0 (cp_data_bus_int*, long **, long);
+void mep_swcpm0 (cp_data_bus_int, long **, long);
+void mep_lhcpm0 (cp_data_bus_int*, long **, long);
+void mep_shcpm0 (cp_data_bus_int, long **, long);
+void mep_lbcpm0 (cp_data_bus_int*, long **, long);
+void mep_sbcpm0 (cp_data_bus_int, long **, long);
+void mep_lmcpa (cp_data_bus_int*, long **, long);
+void mep_smcpa (cp_data_bus_int, long **, long);
+void mep_lwcpa (cp_data_bus_int*, long **, long);
+void mep_swcpa (cp_data_bus_int, long **, long);
+void mep_lhcpa (cp_data_bus_int*, long **, long);
+void mep_shcpa (cp_data_bus_int, long **, long);
+void mep_lbcpa (cp_data_bus_int*, long **, long);
+void mep_sbcpa (cp_data_bus_int, long **, long);
+void mep_lmcp16 (cp_data_bus_int*, long, long *);
+void mep_smcp16 (cp_data_bus_int, long, long *); // volatile
+void mep_lwcp16 (cp_data_bus_int*, long, long *);
+void mep_swcp16 (cp_data_bus_int, long, long *);
+void mep_lmcpi (cp_data_bus_int*, long **);
+void mep_smcpi (cp_data_bus_int, long **);
+void mep_lwcpi (cp_data_bus_int*, long **);
+void mep_swcpi (cp_data_bus_int, long **);
+void mep_lmcp (cp_data_bus_int*, long *);
+void mep_smcp (cp_data_bus_int, long *); // volatile
+void mep_lwcp (cp_data_bus_int*, long *);
+void mep_swcp (cp_data_bus_int, long *);
+void mep_ssubu (long*, long);
+void mep_saddu (long*, long);
+void mep_ssub (long*, long);
+void mep_sadd (long*, long);
+void mep_clipu (long*, long);
+void mep_clip (long*, long);
+void mep_maxu (long*, long);
+void mep_minu (long*, long);
+void mep_max (long*, long);
+void mep_min (long*, long);
+void mep_ave (long*, long);
+void mep_abs (long*, long);
+void mep_ldz (long*, long);
+void mep_dbreak ();                     // volatile
+void mep_dret ();
+void mep_divu (long, long);
+void mep_div (long, long);
+void mep_maddru (long*, long);
+void mep_maddr (long*, long);
+void mep_maddu (long, long);
+void mep_madd (long, long);
+void mep_mulru (long*, long);
+void mep_mulr (long*, long);
+void mep_mulu (long, long);
+void mep_mul (long, long);
+void mep_cache (long, long *);          // volatile
+void mep_tas (long*, long *);
+void mep_btstm (long*, long *, long);
+void mep_bnotm (long *, long);
+void mep_bclrm (long *, long);
+void mep_bsetm (long *, long);
+void mep_ldcb (long*, long);            // volatile
+void mep_stcb (long, long);             // volatile
+void mep_syncm ();                      // volatile
+void mep_break ();                      // volatile
+void mep_swi (long);                    // volatile
+void mep_sleep ();                      // volatile
+void mep_halt ();                       // volatile
+void mep_reti ();
+void mep_ei ();                         // volatile
+void mep_di ();                         // volatile
+void mep_ldc (long*, long);             // volatile
+void mep_ldc_lo (long*);
+void mep_ldc_hi (long*);
+void mep_ldc_lp (long*);
+void mep_stc (long, long);              // volatile
+void mep_stc_lo (long);
+void mep_stc_hi (long);
+void mep_stc_lp (long);
+void mep_erepeat (void *);
+void mep_repeat (long, void *);
+void mep_ret ();
+void mep_jsr (long);
+void mep_jmp24 (void *);
+void mep_jmp (long);
+void mep_bsr24 (void *);
+void mep_bsr12 (void *);
+void mep_bne (long, long, void *);
+void mep_beq (long, long, void *);
+void mep_bgei (long, long, void *);
+void mep_blti (long, long, void *);
+void mep_bnei (long, long, void *);
+void mep_beqi (long, long, void *);
+void mep_bnez (long, void *);
+void mep_beqz (long, void *);
+void mep_bra (void *);
+void mep_fsft (long*, long);
+void mep_sll3 (long*, long, long);
+void mep_slli (long*, long);
+void mep_srli (long*, long);
+void mep_srai (long*, long);
+void mep_sll (long*, long);
+void mep_srl (long*, long);
+void mep_sra (long*, long);
+void mep_xor3 (long*, long, long);
+void mep_and3 (long*, long, long);
+void mep_or3 (long*, long, long);
+void mep_nor (long*, long);
+void mep_xor (long*, long);
+void mep_and (long*, long);
+void mep_or (long*, long);
+void mep_sltu3x (long*, long, long);
+void mep_slt3x (long*, long, long);
+void mep_add3x (long*, long, long);
+void mep_sl2ad3 (long*, long, long);
+void mep_sl1ad3 (long*, long, long);
+void mep_sltu3i (long*, long, long);
+void mep_slt3i (long*, long, long);
+void mep_sltu3 (long*, long, long);
+void mep_slt3 (long*, long, long);
+void mep_neg (long*, long);
+void mep_sbvck3 (long*, long, long);
+void mep_sub (long*, long);
+void mep_advck3 (long*, long, long);
+void mep_add3i (long*, long);
+void mep_add (long*, long);
+void mep_add3 (long*, long, long);
+void mep_movh (long*, long);
+void mep_movu16 (long*, long);
+void mep_movu24 (long*, long);
+void mep_movi16 (long*, long);
+void mep_movi8 (long*, long);
+void mep_mov (long*, long);
+void mep_ssarb (long, long);
+void mep_extuh (long*);
+void mep_extub (long*);
+void mep_exth (long*);
+void mep_extb (long*);
+void mep_lw24 (long*, long);
+void mep_sw24 (long, long);
+void mep_lhu16 (long*, long, long *);
+void mep_lbu16 (long*, long, long *);
+void mep_lw16 (long*, long, long *);
+void mep_lh16 (long*, long, long *);
+void mep_lb16 (long*, long, long *);
+void mep_sw16 (long, long, long *);
+void mep_sh16 (long, long, long *);
+void mep_sb16 (long, long, long *);
+void mep_lhu_tp (long*, long);
+void mep_lbu_tp (long*, long);
+void mep_lw_tp (long*, long);
+void mep_lh_tp (long*, long);
+void mep_lb_tp (long*, long);
+void mep_sw_tp (long, long);
+void mep_sh_tp (long, long);
+void mep_sb_tp (long, long);
+void mep_lw_sp (long*, long);
+void mep_sw_sp (long, long);
+void mep_lhu (long*, long *);
+void mep_lbu (long*, long *);
+void mep_lw (long*, long *);
+void mep_lh (long*, long *);
+void mep_lb (long*, long *);
+void mep_sw (long, long *);
+void mep_sh (long, long *);
+void mep_sb (long, long *);
+void mep_dsp1 (long*, long);            // volatile
+void mep_dsp0 (long);                   // volatile
+void mep_dsp (long*, long, long);       // volatile
+void mep_uci (long*, long, long);       // volatile
+void mep_lhucpm1 (cp_data_bus_int*, long **, long);
+void mep_lbucpm1 (cp_data_bus_int*, long **, long);
+void mep_lhucpm0 (cp_data_bus_int*, long **, long);
+void mep_lbucpm0 (cp_data_bus_int*, long **, long);
+void mep_lhucpa (cp_data_bus_int*, long **, long);
+void mep_lbucpa (cp_data_bus_int*, long **, long);
+void mep_lhucp (cp_data_bus_int*, long, long *);
+void mep_lhcp (cp_data_bus_int*, long, long *);
+void mep_shcp (cp_data_bus_int, long, long *);
+void mep_lbucp (cp_data_bus_int*, long, long *);
+void mep_lbcp (cp_data_bus_int*, long, long *);
+void mep_sbcp (cp_data_bus_int, long, long *);
+void mep_casw3 (long*, long, long);     // volatile
+void mep_cash3 (long*, long, long);     // volatile
+void mep_casb3 (long*, long, long);     // volatile
+void mep_prefd (long, long, long *);    // volatile
+void mep_pref (long, long *);           // volatile
+void mep_ldcb_r (long*, long *);        // volatile
+void mep_stcb_r (long, long *);         // volatile
+void mep_cmovh2 (long*, cp_data_bus_int);
+void mep_cmovh1 (cp_data_bus_int*, long);
+void mep_cmovc2 (long*, long);          // volatile
+void mep_cmovc1 (long, long);           // volatile
+void mep_cmov2 (long*, cp_data_bus_int);
+void mep_cmov1 (cp_data_bus_int*, long);
+cp_data_bus_int mep_cpmov (cp_data_bus_int);
diff --git a/gcc/config/mep/intrinsics.md b/gcc/config/mep/intrinsics.md
new file mode 100644 (file)
index 0000000..aa036f8
--- /dev/null
@@ -0,0 +1,29379 @@
+
+
+;; DO NOT EDIT: This file is automatically generated by CGEN.
+;; Any changes you make will be discarded when it is next regenerated.
+
+
+(define_predicate "cgen_h_sint_12a1_immediate"
+  (and (match_code "const_int")
+        (match_test "(INTVAL (op) & 0) == 0
+                   && INTVAL (op) >= -2048
+                   && INTVAL (op) < 2048")))
+
+(define_predicate "cgen_h_uint_20a1_immediate"
+  (and (match_code "const_int")
+        (match_test "(INTVAL (op) & 0) == 0
+                   && INTVAL (op) >= 0
+                   && INTVAL (op) < 1048576")))
+
+(define_predicate "cgen_h_uint_7a1_immediate"
+  (and (match_code "const_int")
+        (match_test "(INTVAL (op) & 0) == 0
+                   && INTVAL (op) >= 0
+                   && INTVAL (op) < 128")))
+
+(define_predicate "cgen_h_uint_6a2_immediate"
+  (and (match_code "const_int")
+        (match_test "(INTVAL (op) & 1) == 0
+                   && INTVAL (op) >= 0
+                   && INTVAL (op) < 128")))
+
+(define_predicate "cgen_h_uint_22a4_immediate"
+  (and (match_code "const_int")
+        (match_test "(INTVAL (op) & 3) == 0
+                   && INTVAL (op) >= 0
+                   && INTVAL (op) < 33554432")))
+
+(define_predicate "cgen_h_sint_2a1_immediate"
+  (and (match_code "const_int")
+        (match_test "(INTVAL (op) & 0) == 0
+                   && INTVAL (op) >= -2
+                   && INTVAL (op) < 2")))
+
+(define_predicate "cgen_h_uint_24a1_immediate"
+  (and (match_code "const_int")
+        (match_test "(INTVAL (op) & 0) == 0
+                   && INTVAL (op) >= 0
+                   && INTVAL (op) < 16777216")))
+
+(define_predicate "cgen_h_sint_6a1_immediate"
+  (and (match_code "const_int")
+        (match_test "(INTVAL (op) & 0) == 0
+                   && INTVAL (op) >= -32
+                   && INTVAL (op) < 32")))
+
+(define_predicate "cgen_h_uint_5a4_immediate"
+  (and (match_code "const_int")
+        (match_test "(INTVAL (op) & 3) == 0
+                   && INTVAL (op) >= 0
+                   && INTVAL (op) < 256")))
+
+(define_predicate "cgen_h_uint_2a1_immediate"
+  (and (match_code "const_int")
+        (match_test "(INTVAL (op) & 0) == 0
+                   && INTVAL (op) >= 0
+                   && INTVAL (op) < 4")))
+
+(define_predicate "cgen_h_sint_10a1_immediate"
+  (and (match_code "const_int")
+        (match_test "(INTVAL (op) & 0) == 0
+                   && INTVAL (op) >= -512
+                   && INTVAL (op) < 512")))
+
+(define_predicate "cgen_h_uint_4a1_immediate"
+  (and (match_code "const_int")
+        (match_test "(INTVAL (op) & 0) == 0
+                   && INTVAL (op) >= 0
+                   && INTVAL (op) < 16")))
+
+(define_predicate "cgen_h_uint_6a1_immediate"
+  (and (match_code "const_int")
+        (match_test "(INTVAL (op) & 0) == 0
+                   && INTVAL (op) >= 0
+                   && INTVAL (op) < 64")))
+
+(define_predicate "cgen_h_uint_16a1_immediate"
+  (and (match_code "const_int")
+        (match_test "(INTVAL (op) & 0) == 0
+                   && INTVAL (op) >= 0
+                   && INTVAL (op) < 65536")))
+
+(define_predicate "cgen_h_uint_8a1_immediate"
+  (and (match_code "const_int")
+        (match_test "(INTVAL (op) & 0) == 0
+                   && INTVAL (op) >= 0
+                   && INTVAL (op) < 256")))
+
+(define_predicate "cgen_h_sint_16a1_immediate"
+  (and (match_code "const_int")
+        (match_test "(INTVAL (op) & 0) == 0
+                   && INTVAL (op) >= -32768
+                   && INTVAL (op) < 32768")))
+
+(define_predicate "cgen_h_uint_5a1_immediate"
+  (and (match_code "const_int")
+        (match_test "(INTVAL (op) & 0) == 0
+                   && INTVAL (op) >= 0
+                   && INTVAL (op) < 32")))
+
+(define_predicate "cgen_h_sint_8a1_immediate"
+  (and (match_code "const_int")
+        (match_test "(INTVAL (op) & 0) == 0
+                   && INTVAL (op) >= -128
+                   && INTVAL (op) < 128")))
+
+(define_predicate "cgen_h_uint_3a1_immediate"
+  (and (match_code "const_int")
+        (match_test "(INTVAL (op) & 0) == 0
+                   && INTVAL (op) >= 0
+                   && INTVAL (op) < 8")))
+
+
+
+(define_insn "cgen_intrinsic_cpsmsbslla1_w_C3"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2198))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2199))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2200))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2201))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2202))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2203))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2204))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2205))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2206))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2207))]
+  "CGEN_ENABLE_INSN_P (0)"
+  "cpsmsbslla1.w\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "c3")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpsmsbslla1_w_P1"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2198))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2199))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2200))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2201))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2202))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2203))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2204))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2205))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2206))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2207))]
+  "CGEN_ENABLE_INSN_P (1)"
+  "cpsmsbslla1.w\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpsmsbslua1_w_C3"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2208))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2209))
+   (set (reg:SI 111)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2210))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2211))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2212))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2213))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2214))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2215))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2216))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2217))]
+  "CGEN_ENABLE_INSN_P (2)"
+  "cpsmsbslua1.w\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "c3")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpsmsbslua1_w_P1"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2208))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2209))
+   (set (reg:SI 111)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2210))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2211))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2212))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2213))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2214))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2215))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2216))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2217))]
+  "CGEN_ENABLE_INSN_P (3)"
+  "cpsmsbslua1.w\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpsmsbslla1_h_C3"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2218))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2219))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2220))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2221))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2222))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2223))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2224))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2225))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2226))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2227))]
+  "CGEN_ENABLE_INSN_P (4)"
+  "cpsmsbslla1.h\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "c3")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpsmsbslla1_h_P1"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2218))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2219))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2220))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2221))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2222))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2223))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2224))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2225))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2226))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2227))]
+  "CGEN_ENABLE_INSN_P (5)"
+  "cpsmsbslla1.h\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpsmsbslua1_h_C3"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2228))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2229))
+   (set (reg:SI 111)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2230))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2231))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2232))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2233))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2234))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2235))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2236))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2237))]
+  "CGEN_ENABLE_INSN_P (6)"
+  "cpsmsbslua1.h\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "c3")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpsmsbslua1_h_P1"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2228))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2229))
+   (set (reg:SI 111)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2230))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2231))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2232))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2233))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2234))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2235))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2236))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2237))]
+  "CGEN_ENABLE_INSN_P (7)"
+  "cpsmsbslua1.h\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpsmadslla1_w_C3"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2238))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2239))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2240))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2241))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2242))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2243))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2244))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2245))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2246))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2247))]
+  "CGEN_ENABLE_INSN_P (8)"
+  "cpsmadslla1.w\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "c3")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpsmadslla1_w_P1"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2238))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2239))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2240))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2241))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2242))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2243))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2244))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2245))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2246))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2247))]
+  "CGEN_ENABLE_INSN_P (9)"
+  "cpsmadslla1.w\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpsmadslua1_w_C3"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2248))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2249))
+   (set (reg:SI 111)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2250))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2251))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2252))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2253))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2254))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2255))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2256))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2257))]
+  "CGEN_ENABLE_INSN_P (10)"
+  "cpsmadslua1.w\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "c3")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpsmadslua1_w_P1"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2248))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2249))
+   (set (reg:SI 111)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2250))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2251))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2252))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2253))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2254))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2255))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2256))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2257))]
+  "CGEN_ENABLE_INSN_P (11)"
+  "cpsmadslua1.w\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpsmadslla1_h_C3"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2258))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2259))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2260))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2261))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2262))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2263))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2264))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2265))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2266))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2267))]
+  "CGEN_ENABLE_INSN_P (12)"
+  "cpsmadslla1.h\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "c3")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpsmadslla1_h_P1"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2258))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2259))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2260))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2261))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2262))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2263))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2264))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2265))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2266))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2267))]
+  "CGEN_ENABLE_INSN_P (13)"
+  "cpsmadslla1.h\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpsmadslua1_h_C3"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2268))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2269))
+   (set (reg:SI 111)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2270))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2271))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2272))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2273))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2274))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2275))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2276))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2277))]
+  "CGEN_ENABLE_INSN_P (14)"
+  "cpsmadslua1.h\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "c3")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpsmadslua1_h_P1"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2268))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2269))
+   (set (reg:SI 111)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2270))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2271))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2272))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2273))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2274))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2275))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2276))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2277))]
+  "CGEN_ENABLE_INSN_P (15)"
+  "cpsmadslua1.h\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpmulslla1_w_C3"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2278))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2279))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2280))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2281))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2282))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2283))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2284))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2285))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2286))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2287))]
+  "CGEN_ENABLE_INSN_P (16)"
+  "cpmulslla1.w\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "c3")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpmulslla1_w_P1"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2278))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2279))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2280))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2281))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2282))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2283))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2284))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2285))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2286))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2287))]
+  "CGEN_ENABLE_INSN_P (17)"
+  "cpmulslla1.w\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpmulslua1_w_C3"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2288))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2289))
+   (set (reg:SI 111)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2290))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2291))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2292))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2293))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2294))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2295))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2296))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2297))]
+  "CGEN_ENABLE_INSN_P (18)"
+  "cpmulslua1.w\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "c3")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpmulslua1_w_P1"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2288))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2289))
+   (set (reg:SI 111)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2290))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2291))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2292))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2293))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2294))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2295))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2296))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2297))]
+  "CGEN_ENABLE_INSN_P (19)"
+  "cpmulslua1.w\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpmulslla1_h_C3"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2298))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2299))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2300))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2301))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2302))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2303))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2304))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2305))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2306))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2307))]
+  "CGEN_ENABLE_INSN_P (20)"
+  "cpmulslla1.h\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "c3")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpmulslla1_h_P1"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2298))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2299))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2300))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2301))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2302))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2303))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2304))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2305))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2306))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2307))]
+  "CGEN_ENABLE_INSN_P (21)"
+  "cpmulslla1.h\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpmulslua1_h_C3"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2308))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2309))
+   (set (reg:SI 111)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2310))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2311))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2312))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2313))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2314))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2315))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2316))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2317))]
+  "CGEN_ENABLE_INSN_P (22)"
+  "cpmulslua1.h\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "c3")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpmulslua1_h_P1"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2308))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2309))
+   (set (reg:SI 111)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2310))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2311))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2312))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2313))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2314))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2315))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2316))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2317))]
+  "CGEN_ENABLE_INSN_P (23)"
+  "cpmulslua1.h\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpsmsbla1_w_C3"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2318))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2319))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2320))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2321))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2322))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2323))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2324))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2325))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2326))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2327))]
+  "CGEN_ENABLE_INSN_P (24)"
+  "cpsmsbla1.w\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "c3")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpsmsbla1_w_P1"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2318))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2319))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2320))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2321))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2322))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2323))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2324))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2325))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2326))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2327))]
+  "CGEN_ENABLE_INSN_P (25)"
+  "cpsmsbla1.w\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpsmsbua1_w_C3"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2328))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2329))
+   (set (reg:SI 111)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2330))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2331))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2332))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2333))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2334))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2335))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2336))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2337))]
+  "CGEN_ENABLE_INSN_P (26)"
+  "cpsmsbua1.w\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "c3")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpsmsbua1_w_P1"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2328))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2329))
+   (set (reg:SI 111)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2330))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2331))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2332))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2333))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2334))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2335))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2336))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2337))]
+  "CGEN_ENABLE_INSN_P (27)"
+  "cpsmsbua1.w\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpsmsbla1_h_C3"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2338))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2339))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2340))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2341))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2342))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2343))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2344))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2345))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2346))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2347))]
+  "CGEN_ENABLE_INSN_P (28)"
+  "cpsmsbla1.h\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "c3")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpsmsbla1_h_P1"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2338))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2339))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2340))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2341))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2342))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2343))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2344))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2345))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2346))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2347))]
+  "CGEN_ENABLE_INSN_P (29)"
+  "cpsmsbla1.h\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpsmsbua1_h_C3"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2348))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2349))
+   (set (reg:SI 111)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2350))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2351))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2352))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2353))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2354))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2355))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2356))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2357))]
+  "CGEN_ENABLE_INSN_P (30)"
+  "cpsmsbua1.h\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "c3")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpsmsbua1_h_P1"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2348))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2349))
+   (set (reg:SI 111)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2350))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2351))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2352))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2353))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2354))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2355))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2356))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2357))]
+  "CGEN_ENABLE_INSN_P (31)"
+  "cpsmsbua1.h\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpsmadla1_w_C3"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2358))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2359))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2360))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2361))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2362))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2363))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2364))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2365))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2366))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2367))]
+  "CGEN_ENABLE_INSN_P (32)"
+  "cpsmadla1.w\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "c3")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpsmadla1_w_P1"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2358))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2359))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2360))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2361))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2362))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2363))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2364))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2365))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2366))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2367))]
+  "CGEN_ENABLE_INSN_P (33)"
+  "cpsmadla1.w\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpsmadua1_w_C3"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2368))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2369))
+   (set (reg:SI 111)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2370))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2371))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2372))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2373))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2374))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2375))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2376))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2377))]
+  "CGEN_ENABLE_INSN_P (34)"
+  "cpsmadua1.w\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "c3")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpsmadua1_w_P1"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2368))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2369))
+   (set (reg:SI 111)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2370))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2371))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2372))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2373))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2374))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2375))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2376))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2377))]
+  "CGEN_ENABLE_INSN_P (35)"
+  "cpsmadua1.w\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpsmadla1_h_C3"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2378))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2379))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2380))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2381))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2382))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2383))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2384))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2385))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2386))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2387))]
+  "CGEN_ENABLE_INSN_P (36)"
+  "cpsmadla1.h\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "c3")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpsmadla1_h_P1"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2378))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2379))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2380))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2381))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2382))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2383))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2384))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2385))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2386))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2387))]
+  "CGEN_ENABLE_INSN_P (37)"
+  "cpsmadla1.h\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpsmadua1_h_C3"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2388))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2389))
+   (set (reg:SI 111)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2390))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2391))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2392))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2393))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2394))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2395))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2396))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2397))]
+  "CGEN_ENABLE_INSN_P (38)"
+  "cpsmadua1.h\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "c3")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpsmadua1_h_P1"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2388))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2389))
+   (set (reg:SI 111)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2390))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2391))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2392))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2393))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2394))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2395))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2396))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2397))]
+  "CGEN_ENABLE_INSN_P (39)"
+  "cpsmadua1.h\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpmsbla1_w_C3"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2398))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2399))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2400))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2401))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2402))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2403))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2404))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2405))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2406))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2407))]
+  "CGEN_ENABLE_INSN_P (40)"
+  "cpmsbla1.w\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "c3")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpmsbla1_w_P1"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2398))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2399))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2400))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2401))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2402))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2403))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2404))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2405))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2406))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2407))]
+  "CGEN_ENABLE_INSN_P (41)"
+  "cpmsbla1.w\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpmsbua1_w_C3"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2408))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2409))
+   (set (reg:SI 111)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2410))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2411))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2412))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2413))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2414))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2415))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2416))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2417))]
+  "CGEN_ENABLE_INSN_P (42)"
+  "cpmsbua1.w\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "c3")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpmsbua1_w_P1"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2408))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2409))
+   (set (reg:SI 111)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2410))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2411))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2412))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2413))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2414))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2415))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2416))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2417))]
+  "CGEN_ENABLE_INSN_P (43)"
+  "cpmsbua1.w\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpmsbla1u_w_C3"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2418))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2419))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2420))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2421))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2422))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2423))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2424))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2425))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2426))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2427))]
+  "CGEN_ENABLE_INSN_P (44)"
+  "cpmsbla1u.w\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "c3")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpmsbla1u_w_P1"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2418))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2419))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2420))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2421))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2422))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2423))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2424))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2425))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2426))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2427))]
+  "CGEN_ENABLE_INSN_P (45)"
+  "cpmsbla1u.w\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpmsbua1u_w_C3"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2428))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2429))
+   (set (reg:SI 111)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2430))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2431))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2432))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2433))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2434))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2435))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2436))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2437))]
+  "CGEN_ENABLE_INSN_P (46)"
+  "cpmsbua1u.w\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "c3")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpmsbua1u_w_P1"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2428))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2429))
+   (set (reg:SI 111)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2430))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2431))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2432))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2433))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2434))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2435))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2436))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2437))]
+  "CGEN_ENABLE_INSN_P (47)"
+  "cpmsbua1u.w\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpmsbla1_h_C3"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2438))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2439))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2440))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2441))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2442))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2443))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2444))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2445))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2446))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2447))]
+  "CGEN_ENABLE_INSN_P (48)"
+  "cpmsbla1.h\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "c3")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpmsbla1_h_P1"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2438))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2439))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2440))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2441))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2442))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2443))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2444))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2445))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2446))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2447))]
+  "CGEN_ENABLE_INSN_P (49)"
+  "cpmsbla1.h\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpmsbua1_h_C3"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2448))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2449))
+   (set (reg:SI 111)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2450))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2451))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2452))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2453))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2454))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2455))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2456))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2457))]
+  "CGEN_ENABLE_INSN_P (50)"
+  "cpmsbua1.h\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "c3")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpmsbua1_h_P1"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2448))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2449))
+   (set (reg:SI 111)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2450))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2451))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2452))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2453))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2454))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2455))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2456))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2457))]
+  "CGEN_ENABLE_INSN_P (51)"
+  "cpmsbua1.h\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpmadla1_w_C3"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2458))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2459))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2460))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2461))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2462))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2463))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2464))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2465))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2466))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2467))]
+  "CGEN_ENABLE_INSN_P (52)"
+  "cpmadla1.w\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "c3")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpmadla1_w_P1"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2458))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2459))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2460))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2461))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2462))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2463))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2464))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2465))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2466))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2467))]
+  "CGEN_ENABLE_INSN_P (53)"
+  "cpmadla1.w\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpmadua1_w_C3"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2468))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2469))
+   (set (reg:SI 111)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2470))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2471))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2472))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2473))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2474))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2475))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2476))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2477))]
+  "CGEN_ENABLE_INSN_P (54)"
+  "cpmadua1.w\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "c3")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpmadua1_w_P1"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2468))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2469))
+   (set (reg:SI 111)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2470))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2471))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2472))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2473))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2474))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2475))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2476))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2477))]
+  "CGEN_ENABLE_INSN_P (55)"
+  "cpmadua1.w\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpmadla1u_w_C3"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2478))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2479))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2480))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2481))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2482))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2483))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2484))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2485))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2486))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2487))]
+  "CGEN_ENABLE_INSN_P (56)"
+  "cpmadla1u.w\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "c3")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpmadla1u_w_P1"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2478))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2479))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2480))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2481))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2482))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2483))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2484))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2485))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2486))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2487))]
+  "CGEN_ENABLE_INSN_P (57)"
+  "cpmadla1u.w\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpmadua1u_w_C3"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2488))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2489))
+   (set (reg:SI 111)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2490))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2491))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2492))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2493))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2494))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2495))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2496))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2497))]
+  "CGEN_ENABLE_INSN_P (58)"
+  "cpmadua1u.w\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "c3")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpmadua1u_w_P1"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2488))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2489))
+   (set (reg:SI 111)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2490))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2491))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2492))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2493))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2494))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2495))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2496))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2497))]
+  "CGEN_ENABLE_INSN_P (59)"
+  "cpmadua1u.w\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpmadla1_h_C3"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2498))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2499))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2500))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2501))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2502))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2503))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2504))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2505))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2506))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2507))]
+  "CGEN_ENABLE_INSN_P (60)"
+  "cpmadla1.h\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "c3")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpmadla1_h_P1"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2498))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2499))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2500))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2501))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2502))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2503))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2504))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2505))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2506))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2507))]
+  "CGEN_ENABLE_INSN_P (61)"
+  "cpmadla1.h\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpmadua1_h_C3"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2508))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2509))
+   (set (reg:SI 111)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2510))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2511))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2512))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2513))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2514))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2515))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2516))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2517))]
+  "CGEN_ENABLE_INSN_P (62)"
+  "cpmadua1.h\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "c3")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpmadua1_h_P1"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2508))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2509))
+   (set (reg:SI 111)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2510))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2511))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2512))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2513))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2514))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2515))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2516))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2517))]
+  "CGEN_ENABLE_INSN_P (63)"
+  "cpmadua1.h\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpmada1_b_C3"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2518))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2519))
+   (set (reg:SI 111)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2520))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2521))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2522))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2523))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2524))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2525))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2526))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2527))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2528))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2529))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2530))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2531))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2532))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2533))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2534))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2535))]
+  "CGEN_ENABLE_INSN_P (64)"
+  "cpmada1.b\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "c3")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpmada1_b_P1"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2518))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2519))
+   (set (reg:SI 111)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2520))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2521))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2522))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2523))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2524))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2525))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2526))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2527))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2528))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2529))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2530))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2531))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2532))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2533))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2534))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2535))]
+  "CGEN_ENABLE_INSN_P (65)"
+  "cpmada1.b\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpmada1u_b_C3"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2536))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2537))
+   (set (reg:SI 111)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2538))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2539))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2540))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2541))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2542))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2543))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2544))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2545))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2546))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2547))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2548))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2549))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2550))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2551))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2552))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2553))]
+  "CGEN_ENABLE_INSN_P (66)"
+  "cpmada1u.b\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "c3")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpmada1u_b_P1"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2536))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2537))
+   (set (reg:SI 111)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2538))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2539))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2540))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2541))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2542))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2543))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2544))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2545))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2546))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2547))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2548))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2549))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2550))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2551))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2552))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2553))]
+  "CGEN_ENABLE_INSN_P (67)"
+  "cpmada1u.b\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpmulla1_w_C3"
+  [(set (reg:SI 107)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2554))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2555))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2556))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2557))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2558))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2559))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2560))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2561))]
+  "CGEN_ENABLE_INSN_P (68)"
+  "cpmulla1.w\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "c3")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpmulla1_w_P1"
+  [(set (reg:SI 107)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2554))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2555))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2556))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2557))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2558))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2559))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2560))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2561))]
+  "CGEN_ENABLE_INSN_P (69)"
+  "cpmulla1.w\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpmulua1_w_C3"
+  [(set (reg:SI 111)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2562))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2563))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2564))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2565))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2566))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2567))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2568))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2569))]
+  "CGEN_ENABLE_INSN_P (70)"
+  "cpmulua1.w\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "c3")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpmulua1_w_P1"
+  [(set (reg:SI 111)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2562))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2563))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2564))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2565))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2566))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2567))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2568))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2569))]
+  "CGEN_ENABLE_INSN_P (71)"
+  "cpmulua1.w\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpmulla1u_w_C3"
+  [(set (reg:SI 107)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2570))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2571))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2572))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2573))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2574))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2575))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2576))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2577))]
+  "CGEN_ENABLE_INSN_P (72)"
+  "cpmulla1u.w\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "c3")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpmulla1u_w_P1"
+  [(set (reg:SI 107)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2570))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2571))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2572))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2573))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2574))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2575))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2576))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2577))]
+  "CGEN_ENABLE_INSN_P (73)"
+  "cpmulla1u.w\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpmulua1u_w_C3"
+  [(set (reg:SI 111)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2578))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2579))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2580))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2581))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2582))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2583))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2584))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2585))]
+  "CGEN_ENABLE_INSN_P (74)"
+  "cpmulua1u.w\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "c3")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpmulua1u_w_P1"
+  [(set (reg:SI 111)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2578))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2579))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2580))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2581))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2582))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2583))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2584))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2585))]
+  "CGEN_ENABLE_INSN_P (75)"
+  "cpmulua1u.w\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpmulla1_h_C3"
+  [(set (reg:SI 107)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2586))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2587))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2588))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2589))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2590))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2591))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2592))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2593))]
+  "CGEN_ENABLE_INSN_P (76)"
+  "cpmulla1.h\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "c3")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpmulla1_h_P1"
+  [(set (reg:SI 107)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2586))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2587))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2588))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2589))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2590))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2591))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2592))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2593))]
+  "CGEN_ENABLE_INSN_P (77)"
+  "cpmulla1.h\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpmulua1_h_C3"
+  [(set (reg:SI 111)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2594))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2595))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2596))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2597))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2598))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2599))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2600))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2601))]
+  "CGEN_ENABLE_INSN_P (78)"
+  "cpmulua1.h\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "c3")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpmulua1_h_P1"
+  [(set (reg:SI 111)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2594))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2595))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2596))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2597))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2598))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2599))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2600))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2601))]
+  "CGEN_ENABLE_INSN_P (79)"
+  "cpmulua1.h\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpmula1_b_C3"
+  [(set (reg:SI 111)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2602))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2603))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2604))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2605))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2606))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2607))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2608))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2609))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2610))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2611))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2612))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2613))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2614))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2615))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2616))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2617))]
+  "CGEN_ENABLE_INSN_P (80)"
+  "cpmula1.b\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "c3")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpmula1_b_P1"
+  [(set (reg:SI 111)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2602))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2603))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2604))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2605))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2606))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2607))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2608))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2609))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2610))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2611))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2612))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2613))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2614))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2615))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2616))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2617))]
+  "CGEN_ENABLE_INSN_P (81)"
+  "cpmula1.b\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpmula1u_b_C3"
+  [(set (reg:SI 111)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2618))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2619))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2620))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2621))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2622))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2623))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2624))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2625))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2626))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2627))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2628))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2629))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2630))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2631))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2632))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2633))]
+  "CGEN_ENABLE_INSN_P (82)"
+  "cpmula1u.b\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "c3")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpmula1u_b_P1"
+  [(set (reg:SI 111)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2618))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2619))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2620))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2621))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2622))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2623))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2624))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2625))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2626))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2627))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2628))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2629))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2630))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2631))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2632))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2633))]
+  "CGEN_ENABLE_INSN_P (83)"
+  "cpmula1u.b\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpssda1_b_C3"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2634))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2635))
+   (set (reg:SI 111)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2636))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2637))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2638))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2639))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2640))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2641))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2642))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2643))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2644))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2645))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2646))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2647))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2648))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2649))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2650))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2651))]
+  "CGEN_ENABLE_INSN_P (84)"
+  "cpssda1.b\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "c3")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpssda1_b_P1"
+  [(set (reg:SI 111)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2634))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2635))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2636))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2637))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2638))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2639))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2640))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2641))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2642))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2643))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2644))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2645))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2646))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2647))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2648))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2649))]
+  "CGEN_ENABLE_INSN_P (85)"
+  "cpssda1.b\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpssda1u_b_C3"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2650))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2651))
+   (set (reg:SI 111)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2652))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2653))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2654))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2655))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2656))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2657))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2658))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2659))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2660))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2661))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2662))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2663))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2664))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2665))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2666))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2667))]
+  "CGEN_ENABLE_INSN_P (86)"
+  "cpssda1u.b\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "c3")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpssda1u_b_P1"
+  [(set (reg:SI 111)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2650))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2651))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2652))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2653))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2654))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2655))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2656))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2657))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2658))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2659))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2660))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2661))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2662))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2663))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2664))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2665))]
+  "CGEN_ENABLE_INSN_P (87)"
+  "cpssda1u.b\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpssqa1_b_C3"
+  [(set (reg:SI 111)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2666))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2667))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2668))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2669))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2670))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2671))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2672))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2673))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2674))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2675))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2676))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2677))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2678))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2679))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2680))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2681))]
+  "CGEN_ENABLE_INSN_P (88)"
+  "cpssqa1.b\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "c3")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpssqa1_b_P1"
+  [(set (reg:SI 111)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2666))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2667))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2668))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2669))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2670))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2671))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2672))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2673))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2674))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2675))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2676))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2677))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2678))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2679))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2680))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2681))]
+  "CGEN_ENABLE_INSN_P (89)"
+  "cpssqa1.b\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpssqa1u_b_C3"
+  [(set (reg:SI 111)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2682))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2683))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2684))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2685))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2686))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2687))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2688))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2689))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2690))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2691))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2692))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2693))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2694))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2695))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2696))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2697))]
+  "CGEN_ENABLE_INSN_P (90)"
+  "cpssqa1u.b\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "c3")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpssqa1u_b_P1"
+  [(set (reg:SI 111)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+        ] 2682))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2683))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2684))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2685))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2686))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2687))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2688))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2689))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2690))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2691))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2692))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2693))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2694))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2695))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2696))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+        ] 2697))]
+  "CGEN_ENABLE_INSN_P (91)"
+  "cpssqa1u.b\\t%0,%1"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpfmadila1_h_P1"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+          (match_operand:SI 2 "cgen_h_uint_3a1_immediate" "")
+          (match_operand:SI 3 "cgen_h_sint_8a1_immediate" "")
+        ] 1000))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1001))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1002))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1003))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1004))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1005))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1006))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1007))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1008))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1009))]
+  "CGEN_ENABLE_INSN_P (92)"
+  "cpfmadila1.h\\t%0,%1,%2,%3"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpfmadiua1_h_P1"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+          (match_operand:SI 2 "cgen_h_uint_3a1_immediate" "")
+          (match_operand:SI 3 "cgen_h_sint_8a1_immediate" "")
+        ] 1010))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1011))
+   (set (reg:SI 111)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1012))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1013))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1014))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1015))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1016))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1017))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1018))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1019))]
+  "CGEN_ENABLE_INSN_P (93)"
+  "cpfmadiua1.h\\t%0,%1,%2,%3"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpfmadia1_b_P1"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+          (match_operand:SI 2 "cgen_h_uint_3a1_immediate" "")
+          (match_operand:SI 3 "cgen_h_sint_8a1_immediate" "")
+        ] 1020))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1021))
+   (set (reg:SI 111)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1022))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1023))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1024))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1025))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1026))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1027))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1028))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1029))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1030))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1031))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1032))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1033))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1034))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1035))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1036))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1037))]
+  "CGEN_ENABLE_INSN_P (94)"
+  "cpfmadia1.b\\t%0,%1,%2,%3"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpfmadia1u_b_P1"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+          (match_operand:SI 2 "cgen_h_uint_3a1_immediate" "")
+          (match_operand:SI 3 "cgen_h_sint_8a1_immediate" "")
+        ] 1038))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1039))
+   (set (reg:SI 111)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1040))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1041))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1042))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1043))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1044))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1045))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1046))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1047))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1048))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1049))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1050))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1051))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1052))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1053))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1054))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1055))]
+  "CGEN_ENABLE_INSN_P (95)"
+  "cpfmadia1u.b\\t%0,%1,%2,%3"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpfmulila1_h_P1"
+  [(set (reg:SI 107)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+          (match_operand:SI 2 "cgen_h_uint_3a1_immediate" "")
+          (match_operand:SI 3 "cgen_h_sint_8a1_immediate" "")
+        ] 1056))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1057))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1058))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1059))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1060))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1061))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1062))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1063))]
+  "CGEN_ENABLE_INSN_P (96)"
+  "cpfmulila1.h\\t%0,%1,%2,%3"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpfmuliua1_h_P1"
+  [(set (reg:SI 111)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+          (match_operand:SI 2 "cgen_h_uint_3a1_immediate" "")
+          (match_operand:SI 3 "cgen_h_sint_8a1_immediate" "")
+        ] 1064))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1065))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1066))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1067))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1068))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1069))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1070))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1071))]
+  "CGEN_ENABLE_INSN_P (97)"
+  "cpfmuliua1.h\\t%0,%1,%2,%3"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpfmulia1_b_P1"
+  [(set (reg:SI 111)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+          (match_operand:SI 2 "cgen_h_uint_3a1_immediate" "")
+          (match_operand:SI 3 "cgen_h_sint_8a1_immediate" "")
+        ] 1072))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1073))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1074))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1075))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1076))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1077))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1078))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1079))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1080))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1081))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1082))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1083))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1084))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1085))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1086))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1087))]
+  "CGEN_ENABLE_INSN_P (98)"
+  "cpfmulia1.b\\t%0,%1,%2,%3"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpfmulia1u_b_P1"
+  [(set (reg:SI 111)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+          (match_operand:SI 2 "cgen_h_uint_3a1_immediate" "")
+          (match_operand:SI 3 "cgen_h_sint_8a1_immediate" "")
+        ] 1088))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1089))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1090))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1091))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1092))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1093))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1094))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1095))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1096))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1097))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1098))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1099))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1100))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1101))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1102))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+          (match_dup 3)
+        ] 1103))]
+  "CGEN_ENABLE_INSN_P (99)"
+  "cpfmulia1u.b\\t%0,%1,%2,%3"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpamadila1_h_P1"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+          (match_operand:SI 2 "cgen_h_sint_8a1_immediate" "")
+        ] 1104))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1105))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1106))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1107))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1108))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1109))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1110))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1111))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1112))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1113))]
+  "CGEN_ENABLE_INSN_P (100)"
+  "cpamadila1.h\\t%0,%1,%2"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpamadiua1_h_P1"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+          (match_operand:SI 2 "cgen_h_sint_8a1_immediate" "")
+        ] 1114))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1115))
+   (set (reg:SI 111)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1116))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1117))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1118))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1119))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1120))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1121))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1122))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1123))]
+  "CGEN_ENABLE_INSN_P (101)"
+  "cpamadiua1.h\\t%0,%1,%2"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpamadia1_b_P1"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+          (match_operand:SI 2 "cgen_h_sint_8a1_immediate" "")
+        ] 1124))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1125))
+   (set (reg:SI 111)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1126))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1127))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1128))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1129))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1130))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1131))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1132))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1133))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1134))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1135))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1136))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1137))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1138))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1139))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1140))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1141))]
+  "CGEN_ENABLE_INSN_P (102)"
+  "cpamadia1.b\\t%0,%1,%2"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpamadia1u_b_P1"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+          (match_operand:SI 2 "cgen_h_sint_8a1_immediate" "")
+        ] 1142))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1143))
+   (set (reg:SI 111)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1144))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1145))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1146))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1147))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1148))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1149))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1150))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1151))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1152))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1153))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1154))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1155))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1156))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1157))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1158))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1159))]
+  "CGEN_ENABLE_INSN_P (103)"
+  "cpamadia1u.b\\t%0,%1,%2"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpamulila1_h_P1"
+  [(set (reg:SI 107)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+          (match_operand:SI 2 "cgen_h_sint_8a1_immediate" "")
+        ] 1160))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1161))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1162))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1163))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1164))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1165))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1166))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1167))]
+  "CGEN_ENABLE_INSN_P (104)"
+  "cpamulila1.h\\t%0,%1,%2"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpamuliua1_h_P1"
+  [(set (reg:SI 111)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+          (match_operand:SI 2 "cgen_h_sint_8a1_immediate" "")
+        ] 1168))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1169))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1170))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1171))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1172))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1173))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1174))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1175))]
+  "CGEN_ENABLE_INSN_P (105)"
+  "cpamuliua1.h\\t%0,%1,%2"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpamulia1_b_P1"
+  [(set (reg:SI 111)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+          (match_operand:SI 2 "cgen_h_sint_8a1_immediate" "")
+        ] 1176))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1177))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1178))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1179))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1180))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1181))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1182))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1183))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1184))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1185))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1186))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1187))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1188))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1189))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1190))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1191))]
+  "CGEN_ENABLE_INSN_P (106)"
+  "cpamulia1.b\\t%0,%1,%2"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpamulia1u_b_P1"
+  [(set (reg:SI 111)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+          (match_operand:SI 2 "cgen_h_sint_8a1_immediate" "")
+        ] 1192))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1193))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1194))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1195))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1196))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1197))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1198))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1199))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1200))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1201))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1202))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1203))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1204))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1205))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1206))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1207))]
+  "CGEN_ENABLE_INSN_P (107)"
+  "cpamulia1u.b\\t%0,%1,%2"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpfmadila1s1_h_P1"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+          (match_operand:SI 2 "cgen_h_sint_8a1_immediate" "")
+        ] 1208))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1209))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1210))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1211))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1212))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1213))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1214))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1215))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1216))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1217))]
+  "CGEN_ENABLE_INSN_P (108)"
+  "cpfmadila1s1.h\\t%0,%1,%2"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpfmadiua1s1_h_P1"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+          (match_operand:SI 2 "cgen_h_sint_8a1_immediate" "")
+        ] 1218))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1219))
+   (set (reg:SI 111)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1220))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1221))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1222))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1223))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1224))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1225))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1226))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1227))]
+  "CGEN_ENABLE_INSN_P (109)"
+  "cpfmadiua1s1.h\\t%0,%1,%2"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpfmadia1s1_b_P1"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+          (match_operand:SI 2 "cgen_h_sint_8a1_immediate" "")
+        ] 1228))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1229))
+   (set (reg:SI 111)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1230))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1231))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1232))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1233))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1234))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1235))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1236))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1237))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1238))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1239))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1240))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1241))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1242))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1243))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1244))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1245))]
+  "CGEN_ENABLE_INSN_P (110)"
+  "cpfmadia1s1.b\\t%0,%1,%2"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpfmadia1s1u_b_P1"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+          (match_operand:SI 2 "cgen_h_sint_8a1_immediate" "")
+        ] 1246))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1247))
+   (set (reg:SI 111)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1248))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1249))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1250))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1251))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1252))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1253))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1254))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1255))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1256))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1257))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1258))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1259))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1260))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1261))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1262))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1263))]
+  "CGEN_ENABLE_INSN_P (111)"
+  "cpfmadia1s1u.b\\t%0,%1,%2"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpfmulila1s1_h_P1"
+  [(set (reg:SI 107)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+          (match_operand:SI 2 "cgen_h_sint_8a1_immediate" "")
+        ] 1264))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1265))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1266))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1267))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1268))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1269))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1270))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1271))]
+  "CGEN_ENABLE_INSN_P (112)"
+  "cpfmulila1s1.h\\t%0,%1,%2"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpfmuliua1s1_h_P1"
+  [(set (reg:SI 111)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+          (match_operand:SI 2 "cgen_h_sint_8a1_immediate" "")
+        ] 1272))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1273))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1274))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1275))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1276))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1277))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1278))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1279))]
+  "CGEN_ENABLE_INSN_P (113)"
+  "cpfmuliua1s1.h\\t%0,%1,%2"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpfmulia1s1_b_P1"
+  [(set (reg:SI 111)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+          (match_operand:SI 2 "cgen_h_sint_8a1_immediate" "")
+        ] 1280))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1281))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1282))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1283))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1284))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1285))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1286))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1287))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1288))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1289))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1290))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1291))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1292))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1293))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1294))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1295))]
+  "CGEN_ENABLE_INSN_P (114)"
+  "cpfmulia1s1.b\\t%0,%1,%2"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpfmulia1s1u_b_P1"
+  [(set (reg:SI 111)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+          (match_operand:SI 2 "cgen_h_sint_8a1_immediate" "")
+        ] 1296))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1297))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1298))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1299))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1300))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1301))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1302))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1303))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1304))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1305))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1306))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1307))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1308))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1309))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1310))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1311))]
+  "CGEN_ENABLE_INSN_P (115)"
+  "cpfmulia1s1u.b\\t%0,%1,%2"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpfmadila1s0_h_P1"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+          (match_operand:SI 2 "cgen_h_sint_8a1_immediate" "")
+        ] 1312))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1313))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1314))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1315))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1316))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1317))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1318))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1319))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1320))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1321))]
+  "CGEN_ENABLE_INSN_P (116)"
+  "cpfmadila1s0.h\\t%0,%1,%2"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpfmadiua1s0_h_P1"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+          (match_operand:SI 2 "cgen_h_sint_8a1_immediate" "")
+        ] 1322))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1323))
+   (set (reg:SI 111)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1324))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1325))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1326))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1327))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1328))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1329))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1330))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1331))]
+  "CGEN_ENABLE_INSN_P (117)"
+  "cpfmadiua1s0.h\\t%0,%1,%2"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpfmadia1s0_b_P1"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+          (match_operand:SI 2 "cgen_h_sint_8a1_immediate" "")
+        ] 1332))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1333))
+   (set (reg:SI 111)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1334))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1335))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1336))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1337))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1338))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1339))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1340))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1341))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1342))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1343))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1344))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1345))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1346))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1347))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1348))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1349))]
+  "CGEN_ENABLE_INSN_P (118)"
+  "cpfmadia1s0.b\\t%0,%1,%2"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpfmadia1s0u_b_P1"
+  [(set (reg:SI 87)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+          (match_operand:SI 2 "cgen_h_sint_8a1_immediate" "")
+        ] 1350))
+   (set (reg:SI 113)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1351))
+   (set (reg:SI 111)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1352))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1353))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1354))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1355))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1356))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1357))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1358))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1359))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1360))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1361))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1362))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1363))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1364))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1365))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1366))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1367))]
+  "CGEN_ENABLE_INSN_P (119)"
+  "cpfmadia1s0u.b\\t%0,%1,%2"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpfmulila1s0_h_P1"
+  [(set (reg:SI 107)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+          (match_operand:SI 2 "cgen_h_sint_8a1_immediate" "")
+        ] 1368))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1369))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1370))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1371))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1372))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1373))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1374))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1375))]
+  "CGEN_ENABLE_INSN_P (120)"
+  "cpfmulila1s0.h\\t%0,%1,%2"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpfmuliua1s0_h_P1"
+  [(set (reg:SI 111)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+          (match_operand:SI 2 "cgen_h_sint_8a1_immediate" "")
+        ] 1376))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1377))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1378))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1379))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1380))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1381))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1382))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1383))]
+  "CGEN_ENABLE_INSN_P (121)"
+  "cpfmuliua1s0.h\\t%0,%1,%2"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpfmulia1s0_b_P1"
+  [(set (reg:SI 111)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+          (match_operand:SI 2 "cgen_h_sint_8a1_immediate" "")
+        ] 1384))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1385))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1386))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1387))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1388))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1389))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1390))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1391))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1392))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1393))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1394))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1395))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1396))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1397))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1398))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1399))]
+  "CGEN_ENABLE_INSN_P (122)"
+  "cpfmulia1s0.b\\t%0,%1,%2"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpfmulia1s0u_b_P1"
+  [(set (reg:SI 111)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+          (match_operand:DI 1 "general_operand" "x")
+          (match_operand:SI 2 "cgen_h_sint_8a1_immediate" "")
+        ] 1400))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1401))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1402))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1403))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1404))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1405))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1406))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1407))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1408))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1409))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1410))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1411))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1412))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1413))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1414))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+          (match_dup 1)
+          (match_dup 2)
+        ] 1415))]
+  "CGEN_ENABLE_INSN_P (123)"
+  "cpfmulia1s0u.b\\t%0,%1,%2"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpsllia1_P1"
+  [(set (reg:SI 111)
+        (unspec:SI [
+          (match_operand:SI 0 "cgen_h_uint_5a1_immediate" "")
+        ] 2698))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2699))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2700))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2701))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2702))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2703))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2704))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2705))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2706))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2707))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2708))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2709))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2710))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2711))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2712))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2713))]
+  "CGEN_ENABLE_INSN_P (124)"
+  "cpsllia1\\t%0"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "c3")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpsllia1_1_p1"
+  [(set (reg:SI 111)
+        (unspec:SI [
+          (match_operand:SI 0 "cgen_h_uint_5a1_immediate" "")
+        ] 2698))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2699))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2700))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2701))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2702))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2703))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2704))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2705))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2706))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2707))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2708))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2709))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2710))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2711))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2712))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2713))]
+  "CGEN_ENABLE_INSN_P (125)"
+  "cpsllia1\\t%0"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpsraia1_P1"
+  [(set (reg:SI 111)
+        (unspec:SI [
+          (match_operand:SI 0 "cgen_h_uint_5a1_immediate" "")
+        ] 2714))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2715))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2716))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2717))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2718))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2719))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2720))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2721))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2722))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2723))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2724))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2725))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2726))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2727))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2728))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2729))]
+  "CGEN_ENABLE_INSN_P (126)"
+  "cpsraia1\\t%0"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "c3")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpsraia1_1_p1"
+  [(set (reg:SI 111)
+        (unspec:SI [
+          (match_operand:SI 0 "cgen_h_uint_5a1_immediate" "")
+        ] 2714))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2715))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2716))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2717))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2718))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2719))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2720))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2721))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2722))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2723))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2724))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2725))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2726))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2727))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2728))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2729))]
+  "CGEN_ENABLE_INSN_P (127)"
+  "cpsraia1\\t%0"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpsrlia1_P1"
+  [(set (reg:SI 111)
+        (unspec:SI [
+          (match_operand:SI 0 "cgen_h_uint_5a1_immediate" "")
+        ] 2730))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2731))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2732))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2733))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2734))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2735))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2736))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2737))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2738))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2739))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2740))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2741))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2742))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2743))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2744))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2745))]
+  "CGEN_ENABLE_INSN_P (128)"
+  "cpsrlia1\\t%0"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "c3")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpsrlia1_1_p1"
+  [(set (reg:SI 111)
+        (unspec:SI [
+          (match_operand:SI 0 "cgen_h_uint_5a1_immediate" "")
+        ] 2730))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2731))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2732))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2733))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2734))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2735))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2736))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2737))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2738))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2739))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2740))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2741))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2742))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2743))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2744))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2745))]
+  "CGEN_ENABLE_INSN_P (129)"
+  "cpsrlia1\\t%0"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")
+   (set_attr "length" "4")
+   (set_attr "slot" "cop")
+   (set_attr "slots" "p1")
+   (set_attr "stall" "none")])
+
+
+(define_insn "cgen_intrinsic_cpslla1_C3"
+  [(set (reg:SI 111)
+        (unspec:SI [
+          (match_operand:DI 0 "general_operand" "x")
+        ] 2746))
+   (set (reg:SI 118)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2747))
+   (set (reg:SI 110)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2748))
+   (set (reg:SI 119)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2749))
+   (set (reg:SI 109)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2750))
+   (set (reg:SI 120)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2751))
+   (set (reg:SI 108)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2752))
+   (set (reg:SI 121)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2753))
+   (set (reg:SI 107)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2754))
+   (set (reg:SI 114)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2755))
+   (set (reg:SI 106)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2756))
+   (set (reg:SI 115)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2757))
+   (set (reg:SI 105)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2758))
+   (set (reg:SI 116)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2759))
+   (set (reg:SI 104)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2760))
+   (set (reg:SI 117)
+        (unspec:SI [
+          (match_dup 0)
+        ] 2761))]
+  "CGEN_ENABLE_INSN_P (130)"
+  "cpslla1\\t%0"
+  [(set_attr "may_trap" "no")
+   (set_attr "latency" "0")<