public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/26656] Optimization flaw on conditional set of a bit.
       [not found] <bug-26656-4@http.gcc.gnu.org/bugzilla/>
@ 2011-12-24  3:12 ` pinskia at gcc dot gnu.org
  2021-07-26 19:18 ` [Bug target/26656] " pinskia at gcc dot gnu.org
  1 sibling, 0 replies; 2+ messages in thread
From: pinskia at gcc dot gnu.org @ 2011-12-24  3:12 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26656

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |missed-optimization
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2011-12-24
          Component|target                      |tree-optimization
     Ever Confirmed|0                           |1

--- Comment #8 from Andrew Pinski <pinskia at gcc dot gnu.org> 2011-12-24 03:08:17 UTC ---
limit    time ?:    time ?: wa    time if    time if wa
18    40000    40000    350000    40000
28    30000    40000    440000    40000
38    30000    40000    460000    40000
48    40000    40000    400000    30000
58    30000    40000    460000    30000
68    40000    30000    540000    40000
78    30000    30000    530000    40000
88    30000    40000    530000    40000
98    40000    30000    530000    40000
108    30000    40000    580000    40000
118    40000    30000    550000    40000
128    30000    30000    520000    40000
138    30000    40000    520000    30000
148    30000    40000    460000    40000
158    30000    30000    470000    30000
168    30000    30000    450000    40000
178    30000    30000    430000    40000
188    30000    30000    380000    30000
198    30000    30000    400000    30000
208    40000    30000    370000    30000
218    30000    40000    260000    30000
228    30000    30000    290000    40000
238    30000    40000    210000    40000
248    30000    40000    210000    40000

This is at -O3.  So only flagIf is slower.
Without the vectorizer:
limit    time ?:    time ?: wa    time if    time if wa
18    180000    120000    420000    110000
28    170000    110000    450000    110000
38    130000    120000    460000    120000
48    160000    110000    480000    110000
58    210000    110000    530000    120000
68    150000    120000    500000    120000
78    180000    110000    540000    120000
88    170000    120000    550000    110000
98    180000    120000    560000    120000
108    180000    120000    580000    110000
118    190000    120000    580000    110000
128    160000    120000    550000    120000
138    160000    120000    540000    110000
148    160000    120000    540000    110000
158    160000    110000    520000    110000
168    190000    110000    490000    120000
178    170000    120000    450000    120000
188    150000    110000    430000    110000
198    150000    120000    390000    110000
208    130000    120000    370000    110000
218    150000    120000    330000    120000
228    140000    120000    300000    120000
238    180000    110000    280000    110000
248    150000    110000    260000    110000


^ permalink raw reply	[flat|nested] 2+ messages in thread

* [Bug target/26656] Optimization flaw on conditional set of a bit.
       [not found] <bug-26656-4@http.gcc.gnu.org/bugzilla/>
  2011-12-24  3:12 ` [Bug tree-optimization/26656] Optimization flaw on conditional set of a bit pinskia at gcc dot gnu.org
@ 2021-07-26 19:18 ` pinskia at gcc dot gnu.org
  1 sibling, 0 replies; 2+ messages in thread
From: pinskia at gcc dot gnu.org @ 2021-07-26 19:18 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=26656

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|tree-optimization           |target
             Target|                            |x86_64

--- Comment #9 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
flagQuestion:
.L2:
        cmpb    %bpl, (%r12,%rax)
        setb    %cl
        addl    %ecx, %ecx
        orb     %cl, (%rbx,%rax)
        addq    $1, %rax
        cmpq    $100000000, %rax
        jne     .L2
flagQuestionWorkaround:
.L7:
        cmpb    %bpl, (%r12,%rax)
        setb    %cl
        addl    %ecx, %ecx
        orb     %cl, (%rbx,%rax)
        addq    $1, %rax
        cmpq    $100000000, %rax
        jne     .L7
flagIf:
.L12:
        cmpb    %bl, (%r12,%rax)
        jnb     .L11
        orb     $2, 0(%rbp,%rax)
.L11:
        addq    $1, %rax
        cmpq    $100000000, %rax
        jne     .L12
flagIfWorkaround:
.L16:
        cmpb    %bpl, (%r12,%rax)
        setb    %cl
        addl    %ecx, %ecx
        orb     %cl, (%rbx,%rax)
        addq    $1, %rax
        cmpq    $100000000, %rax
        jne     .L16

There is not much be done with flagIf really since it is a conditional
load/store.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-07-26 19:18 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <bug-26656-4@http.gcc.gnu.org/bugzilla/>
2011-12-24  3:12 ` [Bug tree-optimization/26656] Optimization flaw on conditional set of a bit pinskia at gcc dot gnu.org
2021-07-26 19:18 ` [Bug target/26656] " pinskia at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).