aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-threadupdate.c
diff options
context:
space:
mode:
authorliuhongt <hongtao.liu@intel.com>2021-09-10 10:15:58 +0800
committerliuhongt <hongtao.liu@intel.com>2021-09-28 11:00:29 +0800
commit9cfb95f9b92326e86e99b50350ebf04fa9cd2477 (patch)
treefabd1771c0d17d5f629c29d5d9a941a98979fa45 /gcc/tree-ssa-threadupdate.c
parent3540429be7ad1085af83600483908b621078fb6f (diff)
downloadgcc-9cfb95f9b92326e86e99b50350ebf04fa9cd2477.zip
gcc-9cfb95f9b92326e86e99b50350ebf04fa9cd2477.tar.gz
gcc-9cfb95f9b92326e86e99b50350ebf04fa9cd2477.tar.bz2
Relax condition of (vec_concat:M(vec_select op0 idx0)(vec_select op0 idx1)) to allow different modes between op0 and M, but have same inner mode.
This will enable optimization for below pattern. (set (reg:V2DF 87 [ xx ]) (vec_concat:V2DF (vec_select:DF (reg:V4DF 92) (parallel [ (const_int 2 [0x2]) ])) (vec_select:DF (reg:V4DF 92) (parallel [ (const_int 3 [0x3]) ])))) gcc/ChangeLog: * simplify-rtx.c (simplify_context::simplify_binary_operation_1): Relax condition of simplifying (vec_concat:M (vec_select op0 index0)(vec_select op1 index1)) to allow different modes between op0 and M, but have same inner mode. gcc/testsuite/ChangeLog: * gcc.target/i386/vect-rebuild.c: Adjust testcases. * gcc.target/i386/avx512f-vect-rebuild.c: New test.
Diffstat (limited to 'gcc/tree-ssa-threadupdate.c')
0 files changed, 0 insertions, 0 deletions