aboutsummaryrefslogtreecommitdiff
path: root/gcc/expr.c
diff options
context:
space:
mode:
authorRoger Sayle <roger@nextmovesoftware.com>2020-07-11 20:03:39 +0100
committerRoger Sayle <roger@nextmovesoftware.com>2020-07-11 20:03:39 +0100
commit2b4bbc17077ac12fc9742ade4919a6de0277ac8c (patch)
treed18d787ae9291c18b6a31f6e37ad5c8c70435156 /gcc/expr.c
parent90efb2512d40f0a59b063aa0416a6d28849ee424 (diff)
downloadgcc-2b4bbc17077ac12fc9742ade4919a6de0277ac8c.zip
gcc-2b4bbc17077ac12fc9742ade4919a6de0277ac8c.tar.gz
gcc-2b4bbc17077ac12fc9742ade4919a6de0277ac8c.tar.bz2
middle-end: Improve RTL expansion in expand_mul_overflow,
This patch improves the RTL that the middle-end generates for testing signed overflow following a widening multiplication. During this expansion the middle-end generates a truncation which can get used multiple times. Placing this intermediate value in a pseudo register reduces the amount of code generated on platforms where this truncation requires an explicit instruction. 2020-07-11 Roger Sayle <roger@nextmovesoftware.com> gcc/ChangeLog: * internal-fn.c (expand_mul_overflow): When checking for signed overflow from a widening multiplication, we access the truncated lowpart RES twice, so keep this value in a pseudo register.
Diffstat (limited to 'gcc/expr.c')
0 files changed, 0 insertions, 0 deletions