v2 / vlib / v / slow_tests / assembly / asm_test.ppc64le.v
32 lines · 30 sloc · 378 bytes · 09d83a161306549738ed7fdddec55c518e491bd0
Raw
1// vtest build: gcc
2fn test_inline_asm() {
3 a, mut b := 10, 0
4 asm ppc64le {
5 mr r12, a
6 mr b, r12
7 ; +r (b)
8 ; r (a)
9 ; r12
10 }
11 assert a == b
12
13 mut c := 0
14 asm ppc64le {
15 li c, 5
16 ; +r (c)
17 }
18 assert c == 5
19
20 d, e, mut f := 10, 2, 0
21 asm ppc64le {
22 mr f, d
23 add f, f, e
24 addi f, f, 5
25 ; +r (f)
26 ; r (d)
27 r (e)
28 }
29 assert d == 10
30 assert e == 2
31 assert f == 17
32}
33