aboutsummaryrefslogtreecommitdiff
path: root/contrib/jit-coverage-report.py
diff options
context:
space:
mode:
authorMichael Meissner <meissner@linux.ibm.com>2021-12-15 00:57:44 -0500
committerMichael Meissner <meissner@linux.ibm.com>2021-12-15 00:57:44 -0500
commit8ccd8b12ded1782f4273fd1f381b7d554df61a12 (patch)
treeda03675a2aa6ac752ea46c9b1c242d10e8bb77cb /contrib/jit-coverage-report.py
parentc6756b3bc1d2af1c8e86f0ad1711e9b9134520ba (diff)
downloadgcc-8ccd8b12ded1782f4273fd1f381b7d554df61a12.zip
gcc-8ccd8b12ded1782f4273fd1f381b7d554df61a12.tar.gz
gcc-8ccd8b12ded1782f4273fd1f381b7d554df61a12.tar.bz2
Add LXVKQ support.
This patch adds support to generate the LXVKQ instruction to load specific IEEE-128 floating point constants. Compared to the last time I submitted this patch, I modified it so that it uses the bit pattern of the vector to see if it can generate the LXVKQ instruction. This means on a little endian Power<xxx> system, the following code will generate a LXVKQ 34,16 instruction: vector long long foo (void) { return (vector long long) { 0x0000000000000000, 0x8000000000000000 }; } because that vector pattern is the same bit pattern as -0.0F128. 2021-12-14 Michael Meissner <meissner@the-meissners.org> gcc/ * config/rs6000/constraints.md (eQ): New constraint. * config/rs6000/predicates.md (easy_fp_constant): Add support for generating the LXVKQ instruction. (easy_vector_constant_ieee128): New predicate. (easy_vector_constant): Add support for generating the LXVKQ instruction. * config/rs6000/rs6000-protos.h (constant_generates_lxvkq): New declaration. * config/rs6000/rs6000.c (output_vec_const_move): Add support for generating LXVKQ. (constant_generates_lxvkq): New function. * config/rs6000/rs6000.opt (-mieee128-constant): New debug option. * config/rs6000/vsx.md (vsx_mov<mode>_64bit): Add support for generating LXVKQ. (vsx_mov<mode>_32bit): Likewise. * doc/md.texi (PowerPC and IBM RS6000 constraints): Document the eQ constraint. gcc/testsuite/ * gcc.target/powerpc/float128-constant.c: New test.
Diffstat (limited to 'contrib/jit-coverage-report.py')
0 files changed, 0 insertions, 0 deletions