diff options
author | Lulu Cheng <chenglulu@loongson.cn> | 2024-08-08 09:59:28 +0800 |
---|---|---|
committer | Lulu Cheng <chenglulu@loongson.cn> | 2024-08-12 09:33:04 +0800 |
commit | 7bf4cd48d4494ba65680578e9c7ae9a1b809aeaf (patch) | |
tree | 822358fb63f8565aecd80a5785c3de0e75fff62f /gcc/function.h | |
parent | 0498f8bda1d08b8ed8100d759917792baf2da15f (diff) | |
download | gcc-7bf4cd48d4494ba65680578e9c7ae9a1b809aeaf.zip gcc-7bf4cd48d4494ba65680578e9c7ae9a1b809aeaf.tar.gz gcc-7bf4cd48d4494ba65680578e9c7ae9a1b809aeaf.tar.bz2 |
LoongArch: Provide ashr lshr and ashl RTL pattern for vectors.
We support vashr vlshr and vashl. However, in r15-1638 support optimize
x < 0 ? -1 : 0 into (signed) x >> 31 and x < 0 ? 1 : 0 into (unsigned) x >> 31.
To support this optimization, vector ashr lshr and ashl need to be implemented.
gcc/ChangeLog:
* config/loongarch/loongarch.md (insn): Added rotatert rotr pairs.
* config/loongarch/simd.md (rotr<mode>3): Remove to ...
(<optab><mode>3): This.
gcc/testsuite/ChangeLog:
* g++.target/loongarch/vect-ashr-lshr.C: New test.
Diffstat (limited to 'gcc/function.h')
0 files changed, 0 insertions, 0 deletions