summaryrefslogtreecommitdiff
path: root/gcc/config/mips/mips.md
diff options
context:
space:
mode:
authorrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>2004-08-30 18:31:08 +0000
committerrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>2004-08-30 18:31:08 +0000
commitdc71d935955475169e3b9db42b4ad1feb724f3f3 (patch)
treecc89a215dfda405e347fcdcea39c6811775bfff5 /gcc/config/mips/mips.md
parentf449817f78a4cd87079ac3ff2bc7e91074194f03 (diff)
downloadgcc-dc71d935955475169e3b9db42b4ad1feb724f3f3.tar.gz
* config/mips/mips.c (MIPS_FP_CONDITIONS): New macro.
(mips_fp_condition): New enum. (mips_fp_conditions): New array. (print_fcc_operand): Delete. (print_operand): Remove %V, %v and %Q. Redefine %Z so that it prints the operand and comma if and only if ISA_HAS_8CC. Add %Y. (builtin_description): Add "cond" field. (DIRECT_BUILTIN): Initialize it. (CMP_{SCALAR,PS,4S}_BUILTINS, MOVTF_BUILTINS): Split INSN parameter into INSN and CODE. Initialize the "cond" field. (CMP_BUILTINS): Update accordingly. (mips_bdesc): Use MIPS_FP_CONDITIONS to invoke CMP_BUILTINS. (mips_expand_builtin_movtf, mips_expand_builtin_compare): Take the mips_fp_condition as argument. Make it the final operand of the comparison instruction. (mips_expand_builtin): Update accordingly. * config/mips/mips.md (UNSPEC_C_*, UNSPEC_CABS_*): Delete. (UNSPEC_C, UNSPEC_CABS): New constants. Shuffle others to fill the gaps. * config/mips/mips-ps-3d.md (mips_cond_move_tf_ps, bc1any[24][ft]): Don't use the 'Q' operand prefix; just print the operand normally. (mips_cabs_*, mips_c_*): Delete, replacing with... (mips_c_cond_{ps,4s}, mips_cabs_cond_{s,d,ps,4s}): ...these new patterns. Split the 4s versions into 2 ps patterns after reload. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@86791 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/mips/mips.md')
-rw-r--r--gcc/config/mips/mips.md55
1 files changed, 12 insertions, 43 deletions
diff --git a/gcc/config/mips/mips.md b/gcc/config/mips/mips.md
index 4256a5bb788..037ee042e9b 100644
--- a/gcc/config/mips/mips.md
+++ b/gcc/config/mips/mips.md
@@ -53,54 +53,23 @@
;; For MIPS Paired-Singled Floating Point Instructions.
(UNSPEC_MOVE_TF_PS 200)
- (UNSPEC_C_F 201)
- (UNSPEC_C_UN 202)
- (UNSPEC_C_EQ 203)
- (UNSPEC_C_UEQ 204)
- (UNSPEC_C_OLT 205)
- (UNSPEC_C_ULT 206)
- (UNSPEC_C_OLE 207)
- (UNSPEC_C_ULE 208)
- (UNSPEC_C_SF 209)
- (UNSPEC_C_NGLE 210)
- (UNSPEC_C_SEQ 211)
- (UNSPEC_C_NGL 212)
- (UNSPEC_C_LT 213)
- (UNSPEC_C_NGE 214)
- (UNSPEC_C_LE 215)
- (UNSPEC_C_NGT 216)
+ (UNSPEC_C 201)
;; MIPS64/MIPS32R2 alnv.ps
- (UNSPEC_ALNV_PS 217)
+ (UNSPEC_ALNV_PS 202)
;; MIPS-3D instructions
+ (UNSPEC_CABS 203)
- (UNSPEC_CABS_F 218)
- (UNSPEC_CABS_UN 219)
- (UNSPEC_CABS_EQ 220)
- (UNSPEC_CABS_UEQ 221)
- (UNSPEC_CABS_OLT 222)
- (UNSPEC_CABS_ULT 223)
- (UNSPEC_CABS_OLE 224)
- (UNSPEC_CABS_ULE 225)
- (UNSPEC_CABS_SF 226)
- (UNSPEC_CABS_NGLE 227)
- (UNSPEC_CABS_SEQ 228)
- (UNSPEC_CABS_NGL 229)
- (UNSPEC_CABS_LT 230)
- (UNSPEC_CABS_NGE 231)
- (UNSPEC_CABS_LE 232)
- (UNSPEC_CABS_NGT 233)
-
- (UNSPEC_ADDR_PS 234)
- (UNSPEC_CVT_PW_PS 235)
- (UNSPEC_CVT_PS_PW 236)
- (UNSPEC_MULR_PS 237)
-
- (UNSPEC_RSQRT1 238)
- (UNSPEC_RSQRT2 239)
- (UNSPEC_RECIP1 240)
- (UNSPEC_RECIP2 241)
+ (UNSPEC_ADDR_PS 204)
+ (UNSPEC_CVT_PW_PS 205)
+ (UNSPEC_CVT_PS_PW 206)
+ (UNSPEC_MULR_PS 207)
+
+ (UNSPEC_RSQRT1 208)
+ (UNSPEC_RSQRT2 209)
+ (UNSPEC_RECIP1 210)
+ (UNSPEC_RECIP2 211)
]
)