This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/46008] Floating point condexpr not vectorized
- From: "pinskia at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sat, 27 Aug 2016 23:14:56 +0000
- Subject: [Bug tree-optimization/46008] Floating point condexpr not vectorized
- Auto-submitted: auto-generated
- References: <bug-46008-4@http.gcc.gnu.org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=46008
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution|--- |FIXED
Target Milestone|--- |5.0
--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Fixed:
.L2:
ldr q0, [x1, x4]
ldr q3, [x5, x4]
ldr q1, [x2, x4]
ldr q2, [x3, x4]
fadd v0.2d, v0.2d, v3.2d
fmla v0.2d, v2.2d, v1.2d
fcmlt v1.2d, v0.2d, 0
bit v0.16b, v4.16b, v1.16b
str q0, [x0, x4]
add x4, x4, 16
cmp x4, 8192
bne .L2
5.4.0 produces something slightly worse but still vectorizered:
.L2:
ldr q0, [x1, x4]
ldr q3, [x5, x4]
ldr q1, [x2, x4]
ldr q2, [x3, x4]
fadd v0.2d, v0.2d, v3.2d
fmla v0.2d, v2.2d, v1.2d
fcmlt v1.2d, v0.2d, 0
bit v0.16b, v4.16b, v1.16b
str q0, [x4, x0]
add x4, x4, 16
cmp x4, 8192
bne .L2