Skip to content

Instantly share code, notes, and snippets.

@syoyo
Created June 8, 2015 14:15
Show Gist options
  • Save syoyo/9484d27be95e3303789b to your computer and use it in GitHub Desktop.
Save syoyo/9484d27be95e3303789b to your computer and use it in GitHub Desktop.
expapprox() compiled for Parallella Epiphany
// code From http://gallium.inria.fr/blog/fast-vectorizable-math-approx/
$ e-gcc compile options: -O3 -mno-soft-cmpsf -mcmove -mfp-mode=truncate
// 73 clocks
00000f40 <_expapprox>:
f40: 200b 0002 mov r1,0x0
f44: 476b 0aa2 mov r2,0xaa3b
f48: 470b 14b2 movt r2,0x4b38
f4c: 2fcb 14e2 movt r1,0x4e7e
f50: 200b 4002 mov r17,0x0
f54: 2137 fmadd r1,r0,r2
f56: 400b 0002 mov r2,0x0
f5a: 5feb 14e2 movt r2,0x4eff
f5e: 0003 mov r0,0x0
f60: 300b 53f2 movt r17,0x3f80
f64: 0b0b 4482 mov r16,0x4858
f68: 6517 fsub r3,r1,r2
f6a: 016b 5bb2 movt r16,0xbb0b
f6e: 97cb 29c2 mov r12,0x9cbe
f72: 854b 33e2 movt r12,0x3e2a
f76: 716b 0c02 mov r3,0xc08b
f7a: 73eb 13e2 movt r3,0x3e9f
f7e: 44d2 movblte r2,r1
f80: 28e2 mov r1,r2
f82: 4097 fsub r2,r0,r1
f84: 40ab 08d2 mov r2,0x8d05
f88: 404b 13f2 movt r2,0x3f02
f8c: 04d2 movblte r0,r1
f8e: 3feb 0ff2 mov r1,0xffff
f92: 0067 fix r0,r0
f94: 2feb 1002 movt r1,0x7f
f98: 20da and r1,r0,r1
f9a: 24ff 010a orr r1,r1,r17
f9e: 200b 4002 mov r17,0x0
fa2: 300b 57f2 movt r17,0x7f80
fa6: 00df 010a and r0,r0,r17
faa: 2eeb 4be2 mov r17,0xbe77
fae: 2bab 53c2 movt r17,0x3c5d
fb2: 04bf 4807 fmadd r16,r17,r1
fb6: 80bf 2807 fmadd r12,r16,r1
fba: 70bf 0407 fmadd r3,r12,r1
fbe: 4cb7 fmadd r2,r3,r1
fc0: 0827 fmul r0,r2,r0
fc2: 194f 0402 rts
fc6: 01a2 nop
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment