aboutsummaryrefslogtreecommitdiff
path: root/gas/config/xtensa-relax.c
diff options
context:
space:
mode:
authorSterling Augustine <saugustine@google.com>2009-01-07 17:41:09 +0000
committerSterling Augustine <saugustine@google.com>2009-01-07 17:41:09 +0000
commit19fc37235f75095174fe9d679e94b686b9c8ee9f (patch)
treebac02f0e2bded9db179afffc78713f1fcb87e49a /gas/config/xtensa-relax.c
parent60023297c354be3ac7f8a250c7681c1a409fdeec (diff)
downloadgdb-19fc37235f75095174fe9d679e94b686b9c8ee9f.zip
gdb-19fc37235f75095174fe9d679e94b686b9c8ee9f.tar.gz
gdb-19fc37235f75095174fe9d679e94b686b9c8ee9f.tar.bz2
2009-01-07 Sterling Augustine <sterling@tensilica.com>
* config/tc-xtensa.c (produce_flix): New. (option_flix, optoin_no_generate_flix, option_no_flix) Define. (md_longopts): Add support for them. (md_parse_option): Likewise. (md_show_usage): Add help message. (finish_vinsn): Don't allow multi-slot flix when produce_flix option is set to FLIX_NONE. * config/xtensa-relax.c (transition_applies): Only relax to flix branches when produce_flix equals FLIX_ALL. * config/xtensa-relax.h (flix_level, FLIX_ALL, FLIX_NO_GENERATE FLIX_NONE): New. (produce_flix): Declare.
Diffstat (limited to 'gas/config/xtensa-relax.c')
-rw-r--r--gas/config/xtensa-relax.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/gas/config/xtensa-relax.c b/gas/config/xtensa-relax.c
index 5de7dd2..f4e9bb1 100644
--- a/gas/config/xtensa-relax.c
+++ b/gas/config/xtensa-relax.c
@@ -1543,9 +1543,12 @@ transition_applies (insn_pattern *initial_insn,
else if (!strcmp (option_name, "Loops"))
option_available = (XCHAL_HAVE_LOOPS == 1);
else if (!strcmp (option_name, "WideBranches"))
- option_available = (XCHAL_HAVE_WIDE_BRANCHES == 1);
+ option_available
+ = (XCHAL_HAVE_WIDE_BRANCHES == 1 && produce_flix == FLIX_ALL);
else if (!strcmp (option_name, "PredictedBranches"))
- option_available = (XCHAL_HAVE_PREDICTED_BRANCHES == 1);
+ option_available
+ = (XCHAL_HAVE_PREDICTED_BRANCHES == 1
+ && produce_flix == FLIX_ALL);
else if (!strcmp (option_name, "Booleans"))
option_available = (XCHAL_HAVE_BOOLEANS == 1);
else