aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/mips
diff options
context:
space:
mode:
authorAdam Nemet <anemet@caviumnetworks.com>2008-11-26 22:14:50 +0000
committerAdam Nemet <nemet@gcc.gnu.org>2008-11-26 22:14:50 +0000
commit6411cd386c53ee1de40b535830e4995a3d442d77 (patch)
tree455f0d968b8d481dd4993e78291ad017e9255fd3 /gcc/config/mips
parent15a43677412ba3d23667bb50d2cde194c986dfb8 (diff)
downloadgcc-6411cd386c53ee1de40b535830e4995a3d442d77.zip
gcc-6411cd386c53ee1de40b535830e4995a3d442d77.tar.gz
gcc-6411cd386c53ee1de40b535830e4995a3d442d77.tar.bz2
mips.md (clear_hazard): Rename to clear_hazard_<mode>.
* config/mips/mips.md (clear_hazard): Rename to clear_hazard_<mode>. Use mode-specific addition. (clear_cache): Rename gen_clear_hazard to gen_clear_hazard_si or gen_clear_hazard_di depending on the size of Pmode. From-SVN: r142229
Diffstat (limited to 'gcc/config/mips')
-rw-r--r--gcc/config/mips/mips.md10
1 files changed, 6 insertions, 4 deletions
diff --git a/gcc/config/mips/mips.md b/gcc/config/mips/mips.md
index 046f6a7..21b76c5 100644
--- a/gcc/config/mips/mips.md
+++ b/gcc/config/mips/mips.md
@@ -4703,7 +4703,9 @@
{
mips_expand_synci_loop (operands[0], operands[1]);
emit_insn (gen_sync ());
- emit_insn (gen_clear_hazard ());
+ emit_insn (Pmode == SImode
+ ? gen_clear_hazard_si ()
+ : gen_clear_hazard_di ());
}
else if (mips_cache_flush_func && mips_cache_flush_func[0])
{
@@ -4732,14 +4734,14 @@
"ISA_HAS_SYNCI"
"rdhwr\t%0,$1")
-(define_insn "clear_hazard"
+(define_insn "clear_hazard_<mode>"
[(unspec_volatile [(const_int 0)] UNSPEC_CLEAR_HAZARD)
- (clobber (reg:SI 31))]
+ (clobber (reg:P 31))]
"ISA_HAS_SYNCI"
{
return "%(%<bal\t1f\n"
"\tnop\n"
- "1:\taddiu\t$31,$31,12\n"
+ "1:\t<d>addiu\t$31,$31,12\n"
"\tjr.hb\t$31\n"
"\tnop%>%)";
}