diff options
author | Will Schmidt <will_schmidt@vnet.ibm.com> | 2020-10-23 17:28:17 -0500 |
---|---|---|
committer | Will Schmidt <will_schmidt@vnet.ibm.com> | 2021-01-29 11:34:59 -0600 |
commit | 91a95ad2ae0e0f2fa953fafe55ff2ec32c8277d5 (patch) | |
tree | f00a6fb4f2923d80c59fb17fd0370ce8ecd882b1 /gcc/lcm.h | |
parent | 83bdc9f70347e6438822e719c30c3793c81df18e (diff) | |
download | gcc-91a95ad2ae0e0f2fa953fafe55ff2ec32c8277d5.zip gcc-91a95ad2ae0e0f2fa953fafe55ff2ec32c8277d5.tar.gz gcc-91a95ad2ae0e0f2fa953fafe55ff2ec32c8277d5.tar.bz2 |
[PATCH, rs6000] improve vec_ctf invalid parameter handling.
Hi,
Per PR91903, GCC ICEs when we attempt to pass a variable
(or out of range value) into the vec_ctf() builtin. Per
investigation, the parameter checking exists for this
builtin with the int types, but was missing for
the long long types. This problem also occurs for the
vec_cts() builtin, which is also fixed by this patch.
This patch adds the missing CODE_FOR_* entries to the
rs6000_expand_binup_builtin to cover that scenario.
This patch also updates some existing tests to remove
calls to vec_ctf() and vec_cts() that contain negative
values.
PR target/91903
2020-01-29 Will Schmidt <will_schmidt@vnet.ibm.com>
gcc/ChangeLog:
* config/rs6000/rs6000-call.c (rs6000_expand_binup_builtin): Add
clauses for CODE_FOR_vsx_xvcvuxddp_scale and
CODE_FOR_vsx_xvcvsxddp_scale to the parameter checking code.
gcc/testsuite/ChangeLog:
* gcc.target/powerpc/pr91903.c: New test.
* gcc.target/powerpc/builtins-1.fold.h: Update.
* gcc.target/powerpc/builtins-2.c: Update.
Diffstat (limited to 'gcc/lcm.h')
0 files changed, 0 insertions, 0 deletions