mep.c (mep_handle_option): Leave IVC2 control registers as fixed.
* config/mep/mep.c (mep_handle_option): Leave IVC2 control registers as fixed. (mep_interrupt_saved_reg): Save appropriate IVC2 control registers. * config/mep/mep-ivc2.cpu: Add VOLATILE to insns that make unspecified accesses to control registers. * config/mep/intrinsics.md: Regenerate. * config/mep/intrinsics.h: Regenerate. * config/mep/mep-intrin.h: Regenerate. From-SVN: r149164
This commit is contained in:
parent
9df748c0ca
commit
f2082f9028
|
@ -1,3 +1,15 @@
|
|||
2009-07-01 DJ Delorie <dj@redhat.com>
|
||||
|
||||
* config/mep/mep.c (mep_handle_option): Leave IVC2 control
|
||||
registers as fixed.
|
||||
(mep_interrupt_saved_reg): Save appropriate IVC2 control
|
||||
registers.
|
||||
* config/mep/mep-ivc2.cpu: Add VOLATILE to insns that make
|
||||
unspecified accesses to control registers.
|
||||
* config/mep/intrinsics.md: Regenerate.
|
||||
* config/mep/intrinsics.h: Regenerate.
|
||||
* config/mep/mep-intrin.h: Regenerate.
|
||||
|
||||
2009-07-01 Anthony Green <green@moxielogic.com>
|
||||
|
||||
* config/moxie/moxie.c (moxie_expand_prologue): Use dec
|
||||
|
|
|
@ -20,66 +20,66 @@ 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_cpfmadila1_h (cp_v4hi, cp_v4hi, long, long); // volatile
|
||||
void mep_cpfmadiua1_h (cp_v4hi, cp_v4hi, long, long); // volatile
|
||||
void mep_cpfmadia1_b (cp_v8qi, cp_v8qi, long, long); // volatile
|
||||
void mep_cpfmadia1u_b (cp_v8uqi, cp_v8uqi, long, long); // volatile
|
||||
void mep_cpfmulila1_h (cp_v4hi, cp_v4hi, long, long); // volatile
|
||||
void mep_cpfmuliua1_h (cp_v4hi, cp_v4hi, long, long); // volatile
|
||||
void mep_cpfmulia1_b (cp_v8qi, cp_v8qi, long, long); // volatile
|
||||
void mep_cpfmulia1u_b (cp_v8uqi, cp_v8uqi, long, long); // volatile
|
||||
void mep_cpamadila1_h (cp_v4hi, cp_v4hi, long); // volatile
|
||||
void mep_cpamadiua1_h (cp_v4hi, cp_v4hi, long); // volatile
|
||||
void mep_cpamadia1_b (cp_v8qi, cp_v8qi, long); // volatile
|
||||
void mep_cpamadia1u_b (cp_v8uqi, cp_v8uqi, long); // volatile
|
||||
void mep_cpamulila1_h (cp_v4hi, cp_v4hi, long); // volatile
|
||||
void mep_cpamuliua1_h (cp_v4hi, cp_v4hi, long); // volatile
|
||||
void mep_cpamulia1_b (cp_v8qi, cp_v8qi, long); // volatile
|
||||
void mep_cpamulia1u_b (cp_v8uqi, cp_v8uqi, long); // volatile
|
||||
void mep_cpfmadila1s1_h (cp_v4hi, cp_v4hi, long); // volatile
|
||||
void mep_cpfmadiua1s1_h (cp_v4hi, cp_v4hi, long); // volatile
|
||||
void mep_cpfmadia1s1_b (cp_v8qi, cp_v8qi, long); // volatile
|
||||
void mep_cpfmadia1s1u_b (cp_v8uqi, cp_v8uqi, long); // volatile
|
||||
void mep_cpfmulila1s1_h (cp_v4hi, cp_v4hi, long); // volatile
|
||||
void mep_cpfmuliua1s1_h (cp_v4hi, cp_v4hi, long); // volatile
|
||||
void mep_cpfmulia1s1_b (cp_v8qi, cp_v8qi, long); // volatile
|
||||
void mep_cpfmulia1s1u_b (cp_v8uqi, cp_v8uqi, long); // volatile
|
||||
void mep_cpfmadila1s0_h (cp_v4hi, cp_v4hi, long); // volatile
|
||||
void mep_cpfmadiua1s0_h (cp_v4hi, cp_v4hi, long); // volatile
|
||||
void mep_cpfmadia1s0_b (cp_v8qi, cp_v8qi, long); // volatile
|
||||
void mep_cpfmadia1s0u_b (cp_v8uqi, cp_v8uqi, long); // volatile
|
||||
void mep_cpfmulila1s0_h (cp_v4hi, cp_v4hi, long); // volatile
|
||||
void mep_cpfmuliua1s0_h (cp_v4hi, cp_v4hi, long); // volatile
|
||||
void mep_cpfmulia1s0_b (cp_v8qi, cp_v8qi, long); // volatile
|
||||
void mep_cpfmulia1s0u_b (cp_v8uqi, cp_v8uqi, long); // volatile
|
||||
void mep_cpacswp (); // volatile
|
||||
void mep_cpaccpa1 ();
|
||||
void mep_cpacsuma1 ();
|
||||
void mep_cpaccpa1 (); // volatile
|
||||
void mep_cpacsuma1 (); // volatile
|
||||
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 ();
|
||||
void mep_cpfacla0s1_h (cp_v4hi, cp_v4hi); // volatile
|
||||
void mep_cpfacua0s1_h (cp_v4hi, cp_v4hi); // volatile
|
||||
void mep_cpfaca0s1_b (cp_v8qi, cp_v8qi); // volatile
|
||||
void mep_cpfaca0s1u_b (cp_v8uqi, cp_v8uqi); // volatile
|
||||
void mep_cpfsftbla0s1_h (cp_v4hi, cp_v4hi); // volatile
|
||||
void mep_cpfsftbua0s1_h (cp_v4hi, cp_v4hi); // volatile
|
||||
void mep_cpfsftba0s1_b (cp_v8qi, cp_v8qi); // volatile
|
||||
void mep_cpfsftba0s1u_b (cp_v8uqi, cp_v8uqi); // volatile
|
||||
void mep_cpfacla0s0_h (cp_v4hi, cp_v4hi); // volatile
|
||||
void mep_cpfacua0s0_h (cp_v4hi, cp_v4hi); // volatile
|
||||
void mep_cpfaca0s0_b (cp_v8qi, cp_v8qi); // volatile
|
||||
void mep_cpfaca0s0u_b (cp_v8uqi, cp_v8uqi); // volatile
|
||||
void mep_cpfsftbla0s0_h (cp_v4hi, cp_v4hi); // volatile
|
||||
void mep_cpfsftbua0s0_h (cp_v4hi, cp_v4hi); // volatile
|
||||
void mep_cpfsftba0s0_b (cp_v8qi, cp_v8qi); // volatile
|
||||
void mep_cpfsftba0s0u_b (cp_v8uqi, cp_v8uqi); // volatile
|
||||
void mep_cpsllia0 (long); // volatile
|
||||
void mep_cpsraia0 (long); // volatile
|
||||
void mep_cpsrlia0 (long); // volatile
|
||||
void mep_cpslla0 (cp_data_bus_int); // volatile
|
||||
void mep_cpsraa0 (cp_data_bus_int); // volatile
|
||||
void mep_cpsrla0 (cp_data_bus_int); // volatile
|
||||
void mep_cpaccpa0 (); // volatile
|
||||
void mep_cpacsuma0 (); // volatile
|
||||
cp_v2si mep_cpmovhla0_w ();
|
||||
cp_v2si mep_cpmovhua0_w ();
|
||||
cp_v2si mep_cppackla0_w ();
|
||||
|
@ -95,86 +95,86 @@ 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_cpsetla0_w (cp_v2si, cp_v2si); // volatile
|
||||
void mep_cpsetua0_w (cp_v2si, cp_v2si); // volatile
|
||||
void mep_cpseta0_h (cp_v4hi, cp_v4hi); // volatile
|
||||
void mep_cpsadla0_h (cp_v4hi, cp_v4hi); // volatile
|
||||
void mep_cpsadua0_h (cp_v4hi, cp_v4hi); // volatile
|
||||
void mep_cpsada0_b (cp_v8qi, cp_v8qi); // volatile
|
||||
void mep_cpsada0u_b (cp_v8uqi, cp_v8uqi); // volatile
|
||||
void mep_cpabsla0_h (cp_v4hi, cp_v4hi); // volatile
|
||||
void mep_cpabsua0_h (cp_v4hi, cp_v4hi); // volatile
|
||||
void mep_cpabsa0_b (cp_v8qi, cp_v8qi); // volatile
|
||||
void mep_cpabsa0u_b (cp_v8uqi, cp_v8uqi); // volatile
|
||||
void mep_cpsubacla0_h (cp_v4hi, cp_v4hi); // volatile
|
||||
void mep_cpsubacua0_h (cp_v4hi, cp_v4hi); // volatile
|
||||
void mep_cpsubaca0_b (cp_v8qi, cp_v8qi); // volatile
|
||||
void mep_cpsubaca0u_b (cp_v8uqi, cp_v8uqi); // volatile
|
||||
void mep_cpsubla0_h (cp_v4hi, cp_v4hi); // volatile
|
||||
void mep_cpsubua0_h (cp_v4hi, cp_v4hi); // volatile
|
||||
void mep_cpsuba0_b (cp_v8qi, cp_v8qi); // volatile
|
||||
void mep_cpsuba0u_b (cp_v8uqi, cp_v8uqi); // volatile
|
||||
void mep_cpaddacla0_h (cp_v4hi, cp_v4hi); // volatile
|
||||
void mep_cpaddacua0_h (cp_v4hi, cp_v4hi); // volatile
|
||||
void mep_cpaddaca0_b (cp_v8qi, cp_v8qi); // volatile
|
||||
void mep_cpaddaca0u_b (cp_v8uqi, cp_v8uqi); // volatile
|
||||
void mep_cpaddla0_h (cp_v4hi, cp_v4hi); // volatile
|
||||
void mep_cpaddua0_h (cp_v4hi, cp_v4hi); // volatile
|
||||
void mep_cpadda0_b (cp_v8qi, cp_v8qi); // volatile
|
||||
void mep_cpadda0u_b (cp_v8uqi, cp_v8uqi); // volatile
|
||||
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);
|
||||
void mep_cpsmsbslla1_w (cp_v2si, cp_v2si); // volatile
|
||||
void mep_cpsmsbslua1_w (cp_v2si, cp_v2si); // volatile
|
||||
void mep_cpsmsbslla1_h (cp_v4hi, cp_v4hi); // volatile
|
||||
void mep_cpsmsbslua1_h (cp_v4hi, cp_v4hi); // volatile
|
||||
void mep_cpsmadslla1_w (cp_v2si, cp_v2si); // volatile
|
||||
void mep_cpsmadslua1_w (cp_v2si, cp_v2si); // volatile
|
||||
void mep_cpsmadslla1_h (cp_v4hi, cp_v4hi); // volatile
|
||||
void mep_cpsmadslua1_h (cp_v4hi, cp_v4hi); // volatile
|
||||
void mep_cpmulslla1_w (cp_v2si, cp_v2si); // volatile
|
||||
void mep_cpmulslua1_w (cp_v2si, cp_v2si); // volatile
|
||||
void mep_cpmulslla1_h (cp_v4hi, cp_v4hi); // volatile
|
||||
void mep_cpmulslua1_h (cp_v4hi, cp_v4hi); // volatile
|
||||
void mep_cpsmsbla1_w (cp_v2si, cp_v2si); // volatile
|
||||
void mep_cpsmsbua1_w (cp_v2si, cp_v2si); // volatile
|
||||
void mep_cpsmsbla1_h (cp_v4hi, cp_v4hi); // volatile
|
||||
void mep_cpsmsbua1_h (cp_v4hi, cp_v4hi); // volatile
|
||||
void mep_cpsmadla1_w (cp_v2si, cp_v2si); // volatile
|
||||
void mep_cpsmadua1_w (cp_v2si, cp_v2si); // volatile
|
||||
void mep_cpsmadla1_h (cp_v4hi, cp_v4hi); // volatile
|
||||
void mep_cpsmadua1_h (cp_v4hi, cp_v4hi); // volatile
|
||||
void mep_cpmsbla1_w (cp_v2si, cp_v2si); // volatile
|
||||
void mep_cpmsbua1_w (cp_v2si, cp_v2si); // volatile
|
||||
void mep_cpmsbla1u_w (cp_v2usi, cp_v2usi); // volatile
|
||||
void mep_cpmsbua1u_w (cp_v2usi, cp_v2usi); // volatile
|
||||
void mep_cpmsbla1_h (cp_v4hi, cp_v4hi); // volatile
|
||||
void mep_cpmsbua1_h (cp_v4hi, cp_v4hi); // volatile
|
||||
void mep_cpmadla1_w (cp_v2si, cp_v2si); // volatile
|
||||
void mep_cpmadua1_w (cp_v2si, cp_v2si); // volatile
|
||||
void mep_cpmadla1u_w (cp_v2usi, cp_v2usi); // volatile
|
||||
void mep_cpmadua1u_w (cp_v2usi, cp_v2usi); // volatile
|
||||
void mep_cpmadla1_h (cp_v4hi, cp_v4hi); // volatile
|
||||
void mep_cpmadua1_h (cp_v4hi, cp_v4hi); // volatile
|
||||
void mep_cpmada1_b (cp_v8qi, cp_v8qi); // volatile
|
||||
void mep_cpmada1u_b (cp_v8uqi, cp_v8uqi); // volatile
|
||||
void mep_cpmulla1_w (cp_v2si, cp_v2si); // volatile
|
||||
void mep_cpmulua1_w (cp_v2si, cp_v2si); // volatile
|
||||
void mep_cpmulla1u_w (cp_v2usi, cp_v2usi); // volatile
|
||||
void mep_cpmulua1u_w (cp_v2usi, cp_v2usi); // volatile
|
||||
void mep_cpmulla1_h (cp_v4hi, cp_v4hi); // volatile
|
||||
void mep_cpmulua1_h (cp_v4hi, cp_v4hi); // volatile
|
||||
void mep_cpmula1_b (cp_v8qi, cp_v8qi); // volatile
|
||||
void mep_cpmula1u_b (cp_v8uqi, cp_v8uqi); // volatile
|
||||
void mep_cpssda1_b (cp_v8qi, cp_v8qi); // volatile
|
||||
void mep_cpssda1u_b (cp_v8uqi, cp_v8uqi); // volatile
|
||||
void mep_cpssqa1_b (cp_v8qi, cp_v8qi); // volatile
|
||||
void mep_cpssqa1u_b (cp_v8uqi, cp_v8uqi); // volatile
|
||||
void mep_cpsllia1 (long); // volatile
|
||||
void mep_cpsraia1 (long); // volatile
|
||||
void mep_cpsrlia1 (long); // volatile
|
||||
void mep_cpslla1 (cp_data_bus_int); // volatile
|
||||
void mep_cpsraa1 (cp_data_bus_int); // volatile
|
||||
void mep_cpsrla1 (cp_data_bus_int); // volatile
|
||||
cp_v2si mep_cpmovhla1_w ();
|
||||
cp_v2si mep_cpmovhua1_w ();
|
||||
cp_v2si mep_cppackla1_w ();
|
||||
|
@ -190,33 +190,33 @@ 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);
|
||||
void mep_cpsetla1_w (cp_v2si, cp_v2si); // volatile
|
||||
void mep_cpsetua1_w (cp_v2si, cp_v2si); // volatile
|
||||
void mep_cpseta1_h (cp_v4hi, cp_v4hi); // volatile
|
||||
void mep_cpsadla1_h (cp_v4hi, cp_v4hi); // volatile
|
||||
void mep_cpsadua1_h (cp_v4hi, cp_v4hi); // volatile
|
||||
void mep_cpsada1_b (cp_v8qi, cp_v8qi); // volatile
|
||||
void mep_cpsada1u_b (cp_v8uqi, cp_v8uqi); // volatile
|
||||
void mep_cpabsla1_h (cp_v4hi, cp_v4hi); // volatile
|
||||
void mep_cpabsua1_h (cp_v4hi, cp_v4hi); // volatile
|
||||
void mep_cpabsa1_b (cp_v8qi, cp_v8qi); // volatile
|
||||
void mep_cpabsa1u_b (cp_v8uqi, cp_v8uqi); // volatile
|
||||
void mep_cpsubacla1_h (cp_v4hi, cp_v4hi); // volatile
|
||||
void mep_cpsubacua1_h (cp_v4hi, cp_v4hi); // volatile
|
||||
void mep_cpsubaca1_b (cp_v8qi, cp_v8qi); // volatile
|
||||
void mep_cpsubaca1u_b (cp_v8uqi, cp_v8uqi); // volatile
|
||||
void mep_cpsubla1_h (cp_v4hi, cp_v4hi); // volatile
|
||||
void mep_cpsubua1_h (cp_v4hi, cp_v4hi); // volatile
|
||||
void mep_cpsuba1_b (cp_v8qi, cp_v8qi); // volatile
|
||||
void mep_cpsuba1u_b (cp_v8uqi, cp_v8uqi); // volatile
|
||||
void mep_cpaddacla1_h (cp_v4hi, cp_v4hi); // volatile
|
||||
void mep_cpaddacua1_h (cp_v4hi, cp_v4hi); // volatile
|
||||
void mep_cpaddaca1_b (cp_v8qi, cp_v8qi); // volatile
|
||||
void mep_cpaddaca1u_b (cp_v8uqi, cp_v8uqi); // volatile
|
||||
void mep_cpaddla1_h (cp_v4hi, cp_v4hi); // volatile
|
||||
void mep_cpaddua1_h (cp_v4hi, cp_v4hi); // volatile
|
||||
void mep_cpadda1_b (cp_v8qi, cp_v8qi); // volatile
|
||||
void mep_cpadda1u_b (cp_v8uqi, cp_v8uqi); // volatile
|
||||
cp_data_bus_int mep_cdmovi (long);
|
||||
cp_data_bus_int mep_cdmoviu (long);
|
||||
cp_v2si mep_cpmovi_w (long);
|
||||
|
@ -274,23 +274,23 @@ 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);
|
||||
void mep_cpcmpge_w (cp_v2si, cp_v2si); // volatile
|
||||
void mep_cpcmpgeu_w (cp_v2usi, cp_v2usi); // volatile
|
||||
void mep_cpcmpge_h (cp_v4hi, cp_v4hi); // volatile
|
||||
void mep_cpcmpge_b (cp_v8qi, cp_v8qi); // volatile
|
||||
void mep_cpcmpgeu_b (cp_v8uqi, cp_v8uqi); // volatile
|
||||
void mep_cpcmpgt_w (cp_v2si, cp_v2si); // volatile
|
||||
void mep_cpcmpgtu_w (cp_v2usi, cp_v2usi); // volatile
|
||||
void mep_cpcmpgt_h (cp_v4hi, cp_v4hi); // volatile
|
||||
void mep_cpcmpgt_b (cp_v8qi, cp_v8qi); // volatile
|
||||
void mep_cpcmpgtu_b (cp_v8uqi, cp_v8uqi); // volatile
|
||||
void mep_cpcmpne_w (cp_v2si, cp_v2si); // volatile
|
||||
void mep_cpcmpne_h (cp_v4hi, cp_v4hi); // volatile
|
||||
void mep_cpcmpne_b (cp_v8qi, cp_v8qi); // volatile
|
||||
void mep_cpcmpeq_w (cp_v2si, cp_v2si); // volatile
|
||||
void mep_cpcmpeq_h (cp_v4hi, cp_v4hi); // volatile
|
||||
void mep_cpcmpeq_b (cp_v8qi, cp_v8qi); // volatile
|
||||
void mep_cpcmpeqz_b (cp_v8qi, cp_v8qi); // volatile
|
||||
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);
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -5,14 +5,14 @@
|
|||
|
||||
#ifdef WANT_GCC_DECLARATIONS
|
||||
#define FIRST_SHADOW_REGISTER 113
|
||||
#define LAST_SHADOW_REGISTER 140
|
||||
#define LAST_SHADOW_REGISTER 122
|
||||
#define FIXED_SHADOW_REGISTERS \
|
||||
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
|
||||
1, 1, 1, 1, 1, 1, 1, 1, 1, 1
|
||||
#define CALL_USED_SHADOW_REGISTERS FIXED_SHADOW_REGISTERS
|
||||
#define SHADOW_REG_ALLOC_ORDER \
|
||||
113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140
|
||||
113, 114, 115, 116, 117, 118, 119, 120, 121, 122
|
||||
#define SHADOW_REGISTER_NAMES \
|
||||
"$shadow87", "$shadow107", "$shadow106", "$shadow105", "$shadow104", "$shadow111", "$shadow110", "$shadow109", "$shadow108", "$shadow84", "$shadow81", "$shadow86", "$shadow99", "$shadow98", "$shadow97", "$shadow96", "$shadow103", "$shadow102", "$shadow101", "$shadow100", "$shadow17", "$shadow40", "$shadow24", "$shadow23", "$shadow22", "$shadow21", "$shadow20", "$shadow18"
|
||||
"$shadow84", "$shadow81", "$shadow17", "$shadow40", "$shadow24", "$shadow23", "$shadow22", "$shadow21", "$shadow20", "$shadow18"
|
||||
|
||||
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -2525,6 +2525,13 @@ mep_interrupt_saved_reg (int r)
|
|||
/* Functions we call might clobber these. */
|
||||
if (call_used_regs[r] && !fixed_regs[r])
|
||||
return true;
|
||||
/* Additional registers that need to be saved for IVC2. */
|
||||
if (TARGET_IVC2
|
||||
&& (r == FIRST_CCR_REGNO + 1
|
||||
|| (r >= FIRST_CCR_REGNO + 8 && r <= FIRST_CCR_REGNO + 11)
|
||||
|| (r >= FIRST_CCR_REGNO + 16 && r <= FIRST_CCR_REGNO + 31)))
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -7228,19 +7235,6 @@ mep_handle_option (size_t code,
|
|||
for (i=6; i<8; i++)
|
||||
call_used_regs[i+48] = 0;
|
||||
|
||||
call_used_regs[FIRST_CCR_REGNO + 1] = 0;
|
||||
fixed_regs[FIRST_CCR_REGNO + 1] = 0;
|
||||
for (i=8; i<=11; i++)
|
||||
{
|
||||
call_used_regs[FIRST_CCR_REGNO + i] = 0;
|
||||
fixed_regs[FIRST_CCR_REGNO + i] = 0;
|
||||
}
|
||||
for (i=16; i<=31; i++)
|
||||
{
|
||||
call_used_regs[FIRST_CCR_REGNO + i] = 0;
|
||||
fixed_regs[FIRST_CCR_REGNO + i] = 0;
|
||||
}
|
||||
|
||||
#define RN(n,s) reg_names[FIRST_CCR_REGNO + n] = s
|
||||
RN (0, "$csar0");
|
||||
RN (1, "$cc");
|
||||
|
|
Loading…
Reference in New Issue