aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/m32c/t-m32c
diff options
context:
space:
mode:
authorStefan Schulze Frielinghaus <stefansf@linux.ibm.com>2023-11-09 09:30:45 +0100
committerStefan Schulze Frielinghaus <stefansf@linux.ibm.com>2023-11-09 09:30:45 +0100
commitfa4dde85af5f08baed60bbb3f8455733edae6afb (patch)
tree317d1e8f9a29d32c8130891a78c3de967c57db79 /gcc/config/m32c/t-m32c
parentf172b9d38db426d2b102c0f9c1fd58672acc6c9b (diff)
downloadgcc-fa4dde85af5f08baed60bbb3f8455733edae6afb.zip
gcc-fa4dde85af5f08baed60bbb3f8455733edae6afb.tar.gz
gcc-fa4dde85af5f08baed60bbb3f8455733edae6afb.tar.bz2
s390: Reduce number of patterns where the condition is false anyway
For patterns which make use of two modes, do not build the cross product and then exclude illegal combinations via conditions but rather do not create those in the first place. Here we are following the idea of the attribute TOINTVEC/tointvec and introduce TOINT/toint. gcc/ChangeLog: * config/s390/s390.md (VX_CONV_INT): Remove iterator. (gf): Add float mappings. (TOINT, toint): New attribute. (*fixuns_trunc<VX_CONV_BFP:mode><VX_CONV_INT:mode>2_z13): Remove. (*fixuns_trunc<mode><toint>2_z13): Add. (*fix_trunc<VX_CONV_BFP:mode><VX_CONV_INT:mode>2_bfp_z13): Remove. (*fix_trunc<mode><toint>2_bfp_z13): Add. (*floatuns<VX_CONV_INT:mode><VX_CONV_BFP:mode>2_z13): Remove. (*floatuns<toint><mode>2_z13): Add. * config/s390/vector.md (VX_VEC_CONV_INT): Remove iterator. (float<VX_VEC_CONV_INT:mode><VX_VEC_CONV_BFP:mode>2): Remove. (float<tointvec><mode>2): Add. (floatuns<VX_VEC_CONV_INT:mode><VX_VEC_CONV_BFP:mode>2): Remove. (floatuns<tointvec><mode>2): Add. (fix_trunc<VX_VEC_CONV_BFP:mode><VX_VEC_CONV_INT:mode>2): Remove. (fix_trunc<mode><tointvec>2): Add. (fixuns_trunc<VX_VEC_CONV_BFP:mode><VX_VEC_CONV_INT:mode>2): Remove. (fixuns_trunc<VX_VEC_CONV_BFP:mode><tointvec>2): Add.
Diffstat (limited to 'gcc/config/m32c/t-m32c')
0 files changed, 0 insertions, 0 deletions