Could IWMMXT_GR_REGS be contained by ALL_REGS in ARM back end?

2012-12-25 Thread Xinyu Qi
Hi, Some one point out the root cause for the bug 54338 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54338 is that the IWMMXT_GR_REGS is not contained in ALL_REGS so that an assertion fail is triggered in front end. I checked the macro REG_CLASS_CONTENTS in arm.h and confirmed it. This ICE

internal compiler error in find_costs_and_classes

2012-08-19 Thread Xinyu Qi
Hi, I did some iwmmxt intrinsic test for mainline gcc with this check-in r190511 | nickc | 2012-08-19 15:11:35 +0800 (Sun, 19 Aug 2012) | 3 lines PR target/54306 * config/arm/mmintrin.h: Remove spurious #endif. and encountered an internal compiler error for this simple case, with

RE: Does neon_vset_lane expand wrong code when BYTES_BIG_ENDIAN?

2012-01-05 Thread Xinyu Qi
From: Joseph Myers [mailto:jos...@codesourcery.com] > On Wed, 4 Jan 2012, Xinyu Qi wrote: > > > It seems these two parts of the code dealing with BYTE_BIG_ENDIAN will > > cancel each other, and result in the original imm op unchanged. > > Yes, that's correct. Lan

Does neon_vset_lane expand wrong code when BYTES_BIG_ENDIAN?

2012-01-04 Thread Xinyu Qi
Hi, In neon.md, the define_expand "neon_vset_lane" has extra code to deal with the imm operand when BYTE_BIG_ENDIAN, unsigned int elt = INTVAL (operands[3]); if (BYTES_BIG_ENDIAN) { unsigned int reg_nelts = 64 / GET_MODE_BITSIZE (GET_MODE_INNER (mode)); elt ^= reg_nelt