This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[AArch64] Fix order of modes to lroundmn2 standard names.
- From: James Greenhalgh <james dot greenhalgh at arm dot com>
- To: gcc-patches at gcc dot gnu dot org
- Cc: marcus dot shawcroft at arm dot com
- Date: Fri, 26 Apr 2013 14:09:33 +0100
- Subject: [AArch64] Fix order of modes to lroundmn2 standard names.
Hi,
The vector versions of lroundmn2, lfloormn2, lceilmn2 convert from
mode m to mode n. The current implementation has this backwards.
For correctness, this patch swaps the n and m parameters.
There is no need to backport this patch as a bug fix, as nothing uses
this name for expansion in 4.8.
Regression tested on aarch64-none-elf with no regressions.
Thanks,
James Greenhalgh
---
gcc/
3013-04-26 James Greenhalgh <james.greenhalgh@arm.com>
* config/aarch64/aarch64-simd.md
(l<fcvt_pattern><su_optab><fcvt_target><VDQF:mode>2): Rename to...
(l<fcvt_pattern><su_optab><VDQF:mode><fcvt_target>2): ... This.
diff --git a/gcc/config/aarch64/aarch64-simd.md b/gcc/config/aarch64/aarch64-simd.md
index 5f14cc6..b716fbe 100644
--- a/gcc/config/aarch64/aarch64-simd.md
+++ b/gcc/config/aarch64/aarch64-simd.md
@@ -1257,7 +1257,7 @@
;; Vector versions of the fcvt standard patterns.
;; Expands to lbtrunc, lround, lceil, lfloor
-(define_expand "l<fcvt_pattern><su_optab><fcvt_target><VDQF:mode>2"
+(define_expand "l<fcvt_pattern><su_optab><VDQF:mode><fcvt_target>2"
[(set (match_operand:<FCVT_TARGET> 0 "register_operand")
(FIXUORS:<FCVT_TARGET> (unspec:<FCVT_TARGET>
[(match_operand:VDQF 1 "register_operand")]