[Bug target/113856] `(vect64 float){1.0f, 0}` code generation could just be `fmov sN, 1.0f`
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113856 --- Comment #3 from Andrew Pinski --- I should note that the one place where `{1.0, 0.0}` shows up is the use with complex :). I found it on accident while understanding why I was getting a failure with `libgomp.c-c++-common/reduction-*.c` where I would also match on accident `{1.0, 0.0, 1.0, 0.0}`.
[Bug target/113856] `(vect64 float){1.0f, 0}` code generation could just be `fmov sN, 1.0f`
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113856 --- Comment #2 from Andrew Pinski --- Note for: ``` #define vect128 __attribute__((vector_size(16) )) vect128 float f1() { return (vect64 float){1.0f, 1.0f, 0.0f, 0.0f}; } ``` Should also be able to do: ``` fmov v0.2s, 1.0 ``` The instruction here does zero the upper parts of the register too. I have a patch for that too.
[Bug target/113856] `(vect64 float){1.0f, 0}` code generation could just be `fmov sN, 1.0f`
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113856 Andrew Pinski changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Assignee|unassigned at gcc dot gnu.org |pinskia at gcc dot gnu.org Ever confirmed|0 |1 Last reconfirmed||2024-02-15 --- Comment #1 from Andrew Pinski --- I have a patch.
[Bug target/113856] `(vect64 float){1.0f, 0}` code generation could just be `fmov sN, 1.0f`
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113856 Andrew Pinski changed: What|Removed |Added Severity|normal |enhancement