Dead Hackers Society
Other BBSes »

68k Inside

Sommarhack 2023

Silly Venture 2022 SE
Demoscene  Coding  CT60  Buy/sell

Atari demoscene BBS
Re: Signs of clang
Posted by: PeyloW Sep,25.2020-20:17 

Sure thing, compiling this with -m68000 -Os -fomit-frame-pointer;
short test(short num) {
if (num > 0)
return num + num;
return num * num;

GCC 4.64
move.w 6(%sp),%d0
jle .L2
lsl.w #1,%d0
muls.w %d0,%d0

GCC 7.20, and 9.3.0
move.l 4(%sp),%d0
tst.w %d0 ; NO!!
jle .L2
lsl.w #1,%d0
muls.w %d0,%d0
jra .L1 ; WHY?

6.20 is the last one using rts directly in else clause, when using -Os. By Using -O2 the arts is kept, but the test any many other optimizations go away.

This is a tiny example, I mostly use the assembly from libcmini and my own game, to judge.

[All messages in this thread]    [Start new thread]

Topic Posted by  Date 
Signs of clang ggn Sep,10.2020-11:59
  Re: Signs of clang PeyloW Sep,15.2020-20:16
    Re: Signs of clang mikro Sep,20.2020-21:37
      Re: Signs of clang ggn Sep,21.2020-22:16
      Re: Signs of clang PeyloW Sep,25.2020-19:24
      Re: Signs of clang PeyloW Sep,25.2020-20:17
        Re: Signs of clang ggn Sep,25.2020-22:29

Reply to this message
Anti-troll code:


What's the anti-troll code?
That's your personal code to be able to add comments and messages on the site.
Don't have a code or forgot it? Fix it here.
© 1994-2023 Dead Hackers Society Contact: Anders Eriksson