aboutsummaryrefslogtreecommitdiff
path: root/gcc/gimple-range-path.cc
diff options
context:
space:
mode:
authorHongyu Wang <hongyu.wang@intel.com>2021-07-15 13:31:24 +0800
committerHongyu Wang <hongyu.wang@intel.com>2021-09-28 16:39:32 +0800
commiteea10afef71e1947e3a3fde2a44839054ab91967 (patch)
treeafd7e449fa6e097abacd0c9303df0cab63e61eef /gcc/gimple-range-path.cc
parent1dadd5110f8b9ac65c53207c9bda612c3309f96b (diff)
downloadgcc-eea10afef71e1947e3a3fde2a44839054ab91967.zip
gcc-eea10afef71e1947e3a3fde2a44839054ab91967.tar.gz
gcc-eea10afef71e1947e3a3fde2a44839054ab91967.tar.bz2
AVX512FP16: Support basic 64/32bit vector type and operation.
For 32bit target, V4HF vector is parsed same as __m64 type, V2HF is parsed by stack and returned from GPR since it is not specified by ABI. gcc/ChangeLog: PR target/102230 * config/i386/i386.h (VALID_AVX512FP16_REG_MODE): Add V2HF mode check. (VALID_SSE2_REG_VHF_MODE): Add V4HFmode and V2HFmode. (VALID_MMX_REG_MODE): Add V4HFmode. (SSE_REG_MODE_P): Replace VALID_AVX512FP16_REG_MODE with vector mode condition. * config/i386/i386.c (classify_argument): Parse V4HF/V2HF via sse regs. (function_arg_32): Add V4HFmode. (function_arg_advance_32): Likewise. * config/i386/i386.md (mode): Add V4HF/V2HF. (MODE_SIZE): Likewise. * config/i386/mmx.md (MMXMODE): Add V4HF mode. (V_32): Add V2HF mode. (VHF_32_64): New mode iterator. (*mov<mode>_internal): Adjust sse alternatives to support V4HF mode move. (*mov<mode>_internal): Adjust sse alternatives to support V2HF mode move. (<insn><mode>3): New define_insn for add/sub/mul/div. gcc/testsuite/ChangeLog: PR target/102230 * gcc.target/i386/avx512fp16-floatvnhf.c: Remove xfail. * gcc.target/i386/avx512fp16-trunc-extendvnhf.c: Ditto. * gcc.target/i386/avx512fp16-truncvnhf.c: Ditto. * gcc.target/i386/avx512fp16-64-32-vecop-1.c: New test. * gcc.target/i386/avx512fp16-64-32-vecop-2.c: Ditto. * gcc.target/i386/pr102230.c: Ditto.
Diffstat (limited to 'gcc/gimple-range-path.cc')
0 files changed, 0 insertions, 0 deletions