projects
/
gcc.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
e81c832
)
* rtlanal.c (rtx_cost): Handle TRUNCATE between tieable modes.
author
Bin Cheng
<bin.cheng@arm.com>
Thu, 11 May 2017 09:10:01 +0000
(09:10 +0000)
committer
Bin Cheng
<amker@gcc.gnu.org>
Thu, 11 May 2017 09:10:01 +0000
(09:10 +0000)
From-SVN: r247881
gcc/ChangeLog
patch
|
blob
|
history
gcc/rtlanal.c
patch
|
blob
|
history
diff --git
a/gcc/ChangeLog
b/gcc/ChangeLog
index 5c3f57940fb735d371df2f5cf270a32ee26b49ad..9fe29bd6aa98181b913e0d905b5bfe3957fe7945 100644
(file)
--- a/
gcc/ChangeLog
+++ b/
gcc/ChangeLog
@@
-1,3
+1,7
@@
+2017-05-11 Bin Cheng <bin.cheng@arm.com>
+
+ * rtlanal.c (rtx_cost): Handle TRUNCATE between tieable modes.
+
2017-05-11 Richard Biener <rguenther@suse.de>
* passes.c (execute_function_todo): Verify loops if they are
diff --git
a/gcc/rtlanal.c
b/gcc/rtlanal.c
index 321363f9746014c175506a8ed5cf1ae5b710f38d..d9f57c30d8e6f01172e090a9077321b0d3216420 100644
(file)
--- a/
gcc/rtlanal.c
+++ b/
gcc/rtlanal.c
@@
-4164,6
+4164,13
@@
rtx_cost (rtx x, machine_mode mode, enum rtx_code outer_code,
return COSTS_N_INSNS (2 + factor);
break;
+ case TRUNCATE:
+ if (MODES_TIEABLE_P (mode, GET_MODE (XEXP (x, 0))))
+ {
+ total = 0;
+ break;
+ }
+ /* FALLTHRU */
default:
if (targetm.rtx_costs (x, mode, outer_code, opno, &total, speed))
return total;