aboutsummaryrefslogtreecommitdiff
path: root/gcc/optabs.c
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@arm.com>2015-07-05 08:02:59 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2015-07-05 08:02:59 +0000
commit234d14ac72066f06b8da319f98793d0614cda8b0 (patch)
tree8452be0fccad152b18e253d19ca7348832f4a871 /gcc/optabs.c
parent89f7b21fb0dfb2b9c7339b44035df76e2265d489 (diff)
downloadgcc-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.c24
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);