diff options
author | Richard Sandiford <richard.sandiford@arm.com> | 2015-07-05 08:02:59 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2015-07-05 08:02:59 +0000 |
commit | 234d14ac72066f06b8da319f98793d0614cda8b0 (patch) | |
tree | 8452be0fccad152b18e253d19ca7348832f4a871 /gcc/optabs.c | |
parent | 89f7b21fb0dfb2b9c7339b44035df76e2265d489 (diff) | |
download | gcc-234d14ac72066f06b8da319f98793d0614cda8b0.zip gcc-234d14ac72066f06b8da319f98793d0614cda8b0.tar.gz gcc-234d14ac72066f06b8da319f98793d0614cda8b0.tar.bz2 |
target-insns.def (extv, [...]): New targetm instruction patterns.
gcc/
* target-insns.def (extv, extzv, insv): New targetm instruction
patterns.
* optabs.c (get_extraction_insn): Use them instead of HAVE_*/gen_*
interface.
* recog.c (simplify_while_replacing): Likewise.
From-SVN: r225432
Diffstat (limited to 'gcc/optabs.c')
-rw-r--r-- | gcc/optabs.c | 24 |
1 files changed, 6 insertions, 18 deletions
diff --git a/gcc/optabs.c b/gcc/optabs.c index 5c76145..6818458 100644 --- a/gcc/optabs.c +++ b/gcc/optabs.c @@ -8416,18 +8416,6 @@ expand_jump_insn (enum insn_code icode, unsigned int nops, } /* Reduce conditional compilation elsewhere. */ -#ifndef HAVE_insv -#define HAVE_insv 0 -#define CODE_FOR_insv CODE_FOR_nothing -#endif -#ifndef HAVE_extv -#define HAVE_extv 0 -#define CODE_FOR_extv CODE_FOR_nothing -#endif -#ifndef HAVE_extzv -#define HAVE_extzv 0 -#define CODE_FOR_extzv CODE_FOR_nothing -#endif /* Enumerates the possible types of structure operand to an extraction_insn. */ @@ -8512,25 +8500,25 @@ get_extraction_insn (extraction_insn *insn, switch (pattern) { case EP_insv: - if (HAVE_insv + if (targetm.have_insv () && get_traditional_extraction_insn (insn, type, mode, - CODE_FOR_insv, 0, 3)) + targetm.code_for_insv, 0, 3)) return true; return get_optab_extraction_insn (insn, type, mode, insv_optab, insvmisalign_optab, 2); case EP_extv: - if (HAVE_extv + if (targetm.have_extv () && get_traditional_extraction_insn (insn, type, mode, - CODE_FOR_extv, 1, 0)) + targetm.code_for_extv, 1, 0)) return true; return get_optab_extraction_insn (insn, type, mode, extv_optab, extvmisalign_optab, 3); case EP_extzv: - if (HAVE_extzv + if (targetm.have_extzv () && get_traditional_extraction_insn (insn, type, mode, - CODE_FOR_extzv, 1, 0)) + targetm.code_for_extzv, 1, 0)) return true; return get_optab_extraction_insn (insn, type, mode, extzv_optab, extzvmisalign_optab, 3); |