Skip to content

Instantly share code, notes, and snippets.

@tetsu-koba
Created January 26, 2012 06:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tetsu-koba/1681446 to your computer and use it in GitHub Desktop.
Save tetsu-koba/1681446 to your computer and use it in GitHub Desktop.
SH gcc floating options and generated codes
double dadd(double x, double y)
{
return x + y;
}
float fadd(float x, float y)
{
return x + y;
}
.file "float.c"
.text
.little
.text
.align 1
.align 5
.global _dadd
.type _dadd, @function
_dadd:
fmov fr4,fr0
fmov fr5,fr1
mov.l r14,@-r15
mov r15,r14
fadd dr6,dr0
mov r14,r15
rts
mov.l @r15+,r14
.size _dadd, .-_dadd
.align 1
.align 5
.global _fadd
.type _fadd, @function
_fadd:
mov.l .L5,r1
mov.l r14,@-r15
lds.l @r1+,fpscr
mov.l .L6,r1
mov r15,r14
fmov fr5,fr0
fadd fr4,fr0
lds.l @r1+,fpscr
mov r14,r15
rts
mov.l @r15+,r14
.L7:
.align 2
.L5:
.long ___fpscr_values
.L6:
.long ___fpscr_values+4
.size _fadd, .-_fadd
.ident "GCC: (GNU) 4.4.5"
.file "float.c"
.text
.global ___adddf3
.text
.align 1
.align 2
.global _dadd
.type _dadd, @function
_dadd:
mov.l r14,@-r15
mov.l .L3,r0
sts.l pr,@-r15
jsr @r0
mov r15,r14
mov r14,r15
lds.l @r15+,pr
rts
mov.l @r15+,r14
.L4:
.align 2
.L3:
.long ___adddf3
.size _dadd, .-_dadd
.global ___addsf3
.align 1
.align 2
.global _fadd
.type _fadd, @function
_fadd:
mov.l r14,@-r15
mov.l .L7,r0
sts.l pr,@-r15
jsr @r0
mov r15,r14
mov r14,r15
lds.l @r15+,pr
rts
mov.l @r15+,r14
.L8:
.align 2
.L7:
.long ___addsf3
.size _fadd, .-_fadd
.ident "GCC: (GNU) 4.4.5"
.file "float.c"
.text
.little
.text
.align 1
.align 5
.global _dadd
.type _dadd, @function
_dadd:
mov.l .L3,r1
mov.l r14,@-r15
lds.l @r1+,fpscr
fmov fr4,fr0
mov r15,r14
fmov fr5,fr1
mov.l .L4,r1
fadd dr6,dr0
lds.l @r1+,fpscr
mov r14,r15
rts
mov.l @r15+,r14
.L5:
.align 2
.L3:
.long ___fpscr_values
.L4:
.long ___fpscr_values+4
.size _dadd, .-_dadd
.align 1
.align 5
.global _fadd
.type _fadd, @function
_fadd:
fmov fr5,fr0
fadd fr4,fr0
mov.l r14,@-r15
mov r15,r14
mov r14,r15
rts
mov.l @r15+,r14
.size _fadd, .-_fadd
.ident "GCC: (GNU) 4.4.5"
.file "float.c"
.text
.little
.text
.align 1
.align 5
.global _dadd
.type _dadd, @function
_dadd:
fmov fr4,fr0
fadd fr5,fr0
mov.l r14,@-r15
mov r15,r14
mov r14,r15
rts
mov.l @r15+,r14
.size _dadd, .-_dadd
.align 1
.align 5
.global _fadd
.type _fadd, @function
_fadd:
fmov fr4,fr0
fadd fr5,fr0
mov.l r14,@-r15
mov r15,r14
mov r14,r15
rts
mov.l @r15+,r14
.size _fadd, .-_fadd
.ident "GCC: (GNU) 4.4.5"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment