aboutsummaryrefslogtreecommitdiff
path: root/gcc/function.h
diff options
context:
space:
mode:
authorLulu Cheng <chenglulu@loongson.cn>2024-08-08 09:59:28 +0800
committerLulu Cheng <chenglulu@loongson.cn>2024-08-12 09:33:04 +0800
commit7bf4cd48d4494ba65680578e9c7ae9a1b809aeaf (patch)
tree822358fb63f8565aecd80a5785c3de0e75fff62f /gcc/function.h
parent0498f8bda1d08b8ed8100d759917792baf2da15f (diff)
downloadgcc-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