;; You should have received a copy of the GNU General Public License
;; along with GCC; see the file COPYING. If not, write to the
-;; Free Software Foundation, 59 Temple Place - Suite 330, Boston,
-;; MA 02111-1307, USA.
+;; Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
+;; MA 02110-1301, USA.
(define_constants
[(SPE_ACC_REGNO 111)
[(set_attr "length" "8")])
(define_insn "*frob_di_df_2"
- [(set (subreg:DF (match_operand:DI 0 "register_operand" "=&r") 0)
- (match_operand:DF 1 "register_operand" "r"))]
+ [(set (subreg:DF (match_operand:DI 0 "register_operand" "=&r,r") 0)
+ (match_operand:DF 1 "input_operand" "r,m"))]
"TARGET_E500_DOUBLE"
- "evmergehi %H0,%1,%1\;evmergelo %L0,%1,%1"
- [(set_attr "length" "8")])
+ "@
+ evmergehi %H0,%1,%1\;evmergelo %L0,%1,%1
+ evldd%X1 %0,%y1"
+ [(set_attr "length" "8,4")])
(define_insn "*mov_sidf_e500_subreg0"
[(set (subreg:SI (match_operand:DF 0 "register_operand" "+r") 0)
case 2:
return \"evstdd%X0 %1,%y0\";
default:
- abort ();
+ gcc_unreachable ();
}
}"
[(set_attr "type" "*,vecload,vecstore")
case 1: return \"evldd%X1 %0,%y1\";
case 2: return \"evor %0,%1,%1\";
case 3: return output_vec_const_move (operands);
- default: abort ();
+ default: gcc_unreachable ();
}
}"
[(set_attr "type" "vecload,vecstore,*,*")