23 #include "insn-codes.h"
24 #include "insn-opinit.h"
35 char suffix,
enum machine_mode);
42 enum machine_mode,
enum machine_mode);
47 #define GEN_FCN(CODE) (insn_data[CODE].genfun)
83 #define this_target_optabs (&default_target_optabs)
89 rtx target,
int unsignedp);
100 rtx op0,
rtx op1,
rtx target,
int unsignedp,
140 #define find_widening_optab_handler(A,B,C,D) \
141 find_widening_optab_handler_and_mode (A, B, C, D, NULL)
146 enum machine_mode *);
178 extern enum insn_code
can_extend_p (
enum machine_mode,
enum machine_mode,
int);
183 enum machine_mode,
int);
188 enum machine_mode,
const char *);
200 enum insn_code
can_float_p (
enum machine_mode,
enum machine_mode,
int);
240 extern bool can_vec_perm_p (
enum machine_mode,
bool,
const unsigned char *);
254 static inline enum insn_code
257 unsigned scode = (op << 16) | mode;
266 static inline enum insn_code
268 enum machine_mode from_mode)
270 unsigned scode = (op << 16) | (from_mode << 8) | to_mode;
278 static inline enum insn_code
280 enum machine_mode from_mode)
282 unsigned scode = (op << 16) | to_mode;
283 if (to_mode != from_mode && from_mode != VOIDmode)
287 if (op > LAST_CONV_OPTAB)
288 return CODE_FOR_nothing;
289 scode |= from_mode << 8;
297 static inline enum insn_code
308 return (unoptab == negv_optab
309 || unoptab == absv_optab);
317 return (binoptab == addv_optab
318 || binoptab == subv_optab
319 || binoptab == smulv_optab);
324 enum machine_mode mode2);
330 enum insn_code
icode;
388 ENUM_BITFIELD (machine_mode) mode : 16;
400 rtx value, enum machine_mode mode,
425 enum machine_mode mode)
437 enum machine_mode mode)
491 unsigned int opno,
unsigned int nops,
499 extern void expand_insn (
enum insn_code icode,
unsigned int nops,
505 enum machine_mode,
int);
528 enum machine_mode,
enum machine_mode);
530 enum machine_mode,
enum machine_mode);
532 enum machine_mode,
enum machine_mode);
538 enum machine_mode,
enum machine_mode);
540 enum machine_mode,
enum machine_mode);
542 enum machine_mode,
enum machine_mode);
544 enum machine_mode,
enum machine_mode);
546 enum machine_mode,
enum machine_mode);
548 enum machine_mode,
enum machine_mode);
550 enum machine_mode,
enum machine_mode);