fpcmp,
fpmul,fpdivs,fpdivd,
fpsqrts,fpsqrtd,
+ fga,fgm_pack,fgm_mul,fgm_pdist,fgm_cmp,
cmove,
ialuX,
multi,flushw,iflush,trap"
st\t%r1, %0
st\t%1, %0
fzeros\t%0"
- [(set_attr "type" "*,fpmove,*,*,load,fpload,store,fpstore,fpmove")])
+ [(set_attr "type" "*,fpmove,*,*,load,fpload,store,fpstore,fga")])
(define_insn "*movsi_lo_sum"
[(set (match_operand:SI 0 "register_operand" "=r")
ldd\t%1, %0
std\t%1, %0
fzero\t%0"
- [(set_attr "type" "*,*,*,load,store,fpmove,fpload,fpstore,fpmove")
+ [(set_attr "type" "*,*,*,load,store,fpmove,fpload,fpstore,fga")
(set_attr "fptype" "*,*,*,*,*,double,*,*,double")])
(define_expand "movdi_pic_label_ref"
abort();
}
}
- [(set_attr "type" "fpmove,fpmove,*,*,*,*,load,fpload,fpstore,store")])
+ [(set_attr "type" "fpmove,fga,*,*,*,*,load,fpload,fpstore,store")])
;; Exactly the same as above, except that all `f' cases are deleted.
;; This is necessary to prevent reload from ever trying to use a `f' reg
#
#
#"
- [(set_attr "type" "fpmove,fpmove,load,store,store,load,store,*,*,*")
+ [(set_attr "type" "fga,fpmove,load,store,store,load,store,*,*,*")
(set_attr "length" "*,*,*,*,*,*,*,2,2,2")
(set_attr "fptype" "double,double,*,*,*,*,*,*,*,*")])
ldx\t%1, %0
stx\t%r1, %0
#"
- [(set_attr "type" "fpmove,fpmove,load,store,*,load,store,*")
+ [(set_attr "type" "fga,fpmove,load,store,*,load,store,*")
(set_attr "length" "*,*,*,*,*,*,*,2")
(set_attr "fptype" "double,double,*,*,*,*,*,*")])
add\t%1, %2, %0
sub\t%1, -%2, %0
fpadd32s\t%1, %2, %0"
- [(set_attr "type" "*,*,fp")])
+ [(set_attr "type" "*,*,fga")])
(define_insn "*cmp_cc_plus"
[(set (reg:CC_NOOV 100)
sub\t%1, %2, %0
add\t%1, -%2, %0
fpsub32s\t%1, %2, %0"
- [(set_attr "type" "*,*,fp")])
+ [(set_attr "type" "*,*,fga")])
(define_insn "*cmp_minus_cc"
[(set (reg:CC_NOOV 100)
"@
#
fand\t%1, %2, %0"
- [(set_attr "type" "*,fp")
+ [(set_attr "type" "*,fga")
(set_attr "length" "2,*")
(set_attr "fptype" "double")])
"@
and\t%1, %2, %0
fand\t%1, %2, %0"
- [(set_attr "type" "*,fp")
+ [(set_attr "type" "*,fga")
(set_attr "fptype" "double")])
(define_insn "andsi3"
"@
and\t%1, %2, %0
fands\t%1, %2, %0"
- [(set_attr "type" "*,fp")])
+ [(set_attr "type" "*,fga")])
(define_split
[(set (match_operand:SI 0 "register_operand" "")
operands[6] = gen_lowpart (SImode, operands[0]);
operands[7] = gen_lowpart (SImode, operands[1]);
operands[8] = gen_lowpart (SImode, operands[2]);"
- [(set_attr "type" "*,fp")
+ [(set_attr "type" "*,fga")
(set_attr "length" "2,*")
(set_attr "fptype" "double")])
"@
andn\t%2, %1, %0
fandnot1\t%1, %2, %0"
- [(set_attr "type" "*,fp")
+ [(set_attr "type" "*,fga")
(set_attr "fptype" "double")])
(define_insn "*and_not_si"
"@
andn\t%2, %1, %0
fandnot1s\t%1, %2, %0"
- [(set_attr "type" "*,fp")])
+ [(set_attr "type" "*,fga")])
(define_expand "iordi3"
[(set (match_operand:DI 0 "register_operand" "")
"@
#
for\t%1, %2, %0"
- [(set_attr "type" "*,fp")
+ [(set_attr "type" "*,fga")
(set_attr "length" "2,*")
(set_attr "fptype" "double")])
"@
or\t%1, %2, %0
for\t%1, %2, %0"
- [(set_attr "type" "*,fp")
+ [(set_attr "type" "*,fga")
(set_attr "fptype" "double")])
(define_insn "iorsi3"
"@
or\t%1, %2, %0
fors\t%1, %2, %0"
- [(set_attr "type" "*,fp")])
+ [(set_attr "type" "*,fga")])
(define_split
[(set (match_operand:SI 0 "register_operand" "")
operands[6] = gen_lowpart (SImode, operands[0]);
operands[7] = gen_lowpart (SImode, operands[1]);
operands[8] = gen_lowpart (SImode, operands[2]);"
- [(set_attr "type" "*,fp")
+ [(set_attr "type" "*,fga")
(set_attr "length" "2,*")
(set_attr "fptype" "double")])
"@
orn\t%2, %1, %0
fornot1\t%1, %2, %0"
- [(set_attr "type" "*,fp")
+ [(set_attr "type" "*,fga")
(set_attr "fptype" "double")])
(define_insn "*or_not_si"
"@
orn\t%2, %1, %0
fornot1s\t%1, %2, %0"
- [(set_attr "type" "*,fp")])
+ [(set_attr "type" "*,fga")])
(define_expand "xordi3"
[(set (match_operand:DI 0 "register_operand" "")
"@
#
fxor\t%1, %2, %0"
- [(set_attr "type" "*,fp")
+ [(set_attr "type" "*,fga")
(set_attr "length" "2,*")
(set_attr "fptype" "double")])
"@
xor\t%r1, %2, %0
fxor\t%1, %2, %0"
- [(set_attr "type" "*,fp")
+ [(set_attr "type" "*,fga")
(set_attr "fptype" "double")])
(define_insn "*xordi3_sp64_dbl"
"@
xor\t%r1, %2, %0
fxors\t%1, %2, %0"
- [(set_attr "type" "*,fp")])
+ [(set_attr "type" "*,fga")])
(define_split
[(set (match_operand:SI 0 "register_operand" "")
operands[6] = gen_lowpart (SImode, operands[0]);
operands[7] = gen_lowpart (SImode, operands[1]);
operands[8] = gen_lowpart (SImode, operands[2]);"
- [(set_attr "type" "*,fp")
+ [(set_attr "type" "*,fga")
(set_attr "length" "2,*")
(set_attr "fptype" "double")])
"@
xnor\t%r1, %2, %0
fxnor\t%1, %2, %0"
- [(set_attr "type" "*,fp")
+ [(set_attr "type" "*,fga")
(set_attr "fptype" "double")])
(define_insn "*xor_not_si"
"@
xnor\t%r1, %2, %0
fxnors\t%1, %2, %0"
- [(set_attr "type" "*,fp")])
+ [(set_attr "type" "*,fga")])
;; These correspond to the above in the case where we also (or only)
;; want to set the condition code.
operands[3] = gen_highpart (SImode, operands[1]);
operands[4] = gen_lowpart (SImode, operands[0]);
operands[5] = gen_lowpart (SImode, operands[1]);"
- [(set_attr "type" "*,fp")
+ [(set_attr "type" "*,fga")
(set_attr "length" "2,*")
(set_attr "fptype" "double")])
"@
xnor\t%%g0, %1, %0
fnot1\t%1, %0"
- [(set_attr "type" "*,fp")
+ [(set_attr "type" "*,fga")
(set_attr "fptype" "double")])
(define_insn "one_cmplsi2"
"@
xnor\t%%g0, %1, %0
fnot1s\t%1, %0"
- [(set_attr "type" "*,fp")])
+ [(set_attr "type" "*,fga")])
(define_insn "*cmp_cc_not"
[(set (reg:CC 100)