i386.c (print_reg): Сorrectly print 64-bit mask registers.
authorAlexander Ivchenko <alexander.ivchenko@intel.com>
Thu, 14 Aug 2014 13:18:42 +0000 (13:18 +0000)
committerKirill Yukhin <kyukhin@gcc.gnu.org>
Thu, 14 Aug 2014 13:18:42 +0000 (13:18 +0000)
commit9e4a4dd6518a86c94278a978412e162c4b770c7b
tree33cf0a1877fdbac992df7ad08b2c28b523fe991f
parent7d39012c24ded7a9d1d4eb1fa2916181dac3ada2
i386.c (print_reg): Сorrectly print 64-bit mask registers.

gcc/
* config/i386/i386.c (print_reg): Сorrectly print 64-bit mask
registers.
(inline_secondary_memory_needed): Allow 64 bit wide mask registers.
(ix86_hard_regno_mode_ok): Allow 32/64-bit mask registers and
xmm/ymm16+ when availble.
* config/i386/i386.h
(HARD_REGNO_NREGS): Add mask regs.
(VALID_AVX512F_REG_MODE): Ditto.
(VALID_AVX512F_REG_MODE) : Define.
(VALID_MASK_AVX512BW_MODE): Ditto.
(reg_class) (MASK_REG_P(X)): Define.
* config/i386/i386.md: Do not split long moves with mask register,
use kmovb if avx512bw is availible.
(movdi_internal): Handle mask registers.

Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
From-SVN: r213962
gcc/ChangeLog
gcc/config/i386/i386.c
gcc/config/i386/i386.h
gcc/config/i386/i386.md