Hi, Sorry for the delay, I've been travelling.
On 27 July 2016 at 15:57, Ramana Radhakrishnan <ramana....@googlemail.com> wrote: > On Tue, May 17, 2016 at 3:29 PM, Matthew Wahab > <matthew.wa...@foss.arm.com> wrote: >> The handling of 16-bit integer data-movement in the ARM backend doesn't >> make full use of the VFP instructions when they are available, even when >> the values are for use in VFP operations. >> >> This patch adds support for using the VFP instructions and registers >> when moving 16-bit integer and floating point data between registers and >> between registers and memory. >> >> Tested the series for arm-none-linux-gnueabihf with native bootstrap and >> make check and for arm-none-eabi and armeb-none-eabi with make check on >> an ARMv8.2-A emulator. Tested this patch for arm-none-linux-gnueabihf >> with native bootstrap and make check and for arm-none-eabi with >> check-gcc on an ARMv8.2-A emulator. >> >> Ok for trunk? > With this patch, I've noticed 2 regressions which still seem present on trunk. When GCC is configured with: --target=arm-none-linux-gnueabihf --disable-libgomp --disable-libmudflap --disable-libcilkrts --enable-checking --enable-languages=c,c++,fortran --with-float=hard --enable-build-with-cxx --with-mode=arm --with-cpu=cortex-a9 --with-fpu=vfp and the tests run with -march=armv5t in RUNTESTFLAGS FAIL: gcc.target/arm/constant-pool.c (test for excess errors) because: /ccepmUiD.s:29: Error: selected processor does not support ARM mode `movw r0,4660' FAIL: gfortran.fortran-torture/execute/nan_inf_fmt.f90 compilation, -O2 because: /cc76h4mz.s: Assembler messages: /cc76h4mz.s:413: Error: selected processor does not support ARM mode `movw r3,8224' /cc76h4mz.s:496: Error: selected processor does not support ARM mode `movw r2,8224' /cc76h4mz.s:578: Error: selected processor does not support ARM mode `movw ip,8224' Christophe > > OK. ( the test function where this will make a difference is testhisf > for the record) ... > > Ramana >> Matthew >> >> 2016-05-17 Jiong Wang <jiong.w...@arm.com> >> Matthew Wahab <matthew.wa...@arm.com> >> >> * config/arm/arm.c (output_move_vfp): Weaken assert to allow >> HImode. >> (arm_hard_regno_mode_ok): Allow HImode values in VFP registers. >> * config/arm/arm.md (*movhi_insn_arch4) Disable when VFP registers >> are >> available. >> (*movhi_bytes): Likewise. >> * config/arm/vfp.md (*arm_movhi_vfp): New. >> (*thumb2_movhi_vfp): New. >> >> testsuite/ >> 2016-05-17 Matthew Wahab <matthew.wa...@arm.com> >> >> * gcc.target/arm/short-vfp-1.c: New. >>