Skip to content

Instantly share code, notes, and snippets.

@syoyo
Created February 13, 2013 15:35
Show Gist options
  • Save syoyo/4945456 to your computer and use it in GitHub Desktop.
Save syoyo/4945456 to your computer and use it in GitHub Desktop.
clang's ARM NEON codegen test.
void
clang_test(float* out, float* in)
{
for (int i = 0; i < 4; i++) {
out[i] = in[i] * in[i];
}
}
// asm output
LBB0_1: @ =>This Inner Loop Header: Depth=1
@DEBUG_VALUE: clang_test:out <- R0+0
@DEBUG_VALUE: clang_test:in <- R1+0
@DEBUG_VALUE: i <- 0+0
.loc 1 16 17 prologue_end @ /Users/syoyo/work/ios_dev/clantest/clantest/clangtest.cc:16:17
adds r3, r1, r2
.loc 1 17 5 @ /Users/syoyo/work/ios_dev/clantest/clantest/clangtest.cc:17:5
Ltmp1:
vldr s0, [r3]
Ltmp2:
.loc 1 16 17 @ /Users/syoyo/work/ios_dev/clantest/clantest/clangtest.cc:16:17
adds r3, r0, r2
adds r2, #4
.loc 1 17 5 @ /Users/syoyo/work/ios_dev/clantest/clantest/clangtest.cc:17:5
Ltmp3:
vmul.f32 d0, d0, d0
Ltmp4:
.loc 1 16 17 @ /Users/syoyo/work/ios_dev/clantest/clantest/clangtest.cc:16:17
cmp r2, #16
.loc 1 17 5 @ /Users/syoyo/work/ios_dev/clantest/clantest/clangtest.cc:17:5
Ltmp5:
vstr s0, [r3]
vorr d0, d0, d0 @ vnop
Ltmp6:
.loc 1 16 17 @ /Users/syoyo/work/ios_dev/clantest/clantest/clangtest.cc:16:17
bne LBB0_1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment