Vulcain
3 months ago
committed by
GitHub
14 changed files with 359 additions and 6 deletions
@ -0,0 +1,25 @@ |
|||
;;! target = "aarch64" |
|||
;;! test = "winch" |
|||
|
|||
(module |
|||
(func (result i32) |
|||
(i32.const 10) |
|||
(i32.clz) |
|||
) |
|||
) |
|||
;; wasm[0]::function[0]: |
|||
;; stp x29, x30, [sp, #-0x10]! |
|||
;; mov x29, sp |
|||
;; mov x28, sp |
|||
;; mov x9, x0 |
|||
;; sub sp, sp, #0x10 |
|||
;; mov x28, sp |
|||
;; stur x0, [x28, #8] |
|||
;; stur x1, [x28] |
|||
;; mov x16, #0xa |
|||
;; mov w0, w16 |
|||
;; clz w0, w0 |
|||
;; add sp, sp, #0x10 |
|||
;; mov x28, sp |
|||
;; ldp x29, x30, [sp], #0x10 |
|||
;; ret |
@ -0,0 +1,32 @@ |
|||
;;! target = "aarch64" |
|||
;;! test = "winch" |
|||
|
|||
(module |
|||
(func (result i32) |
|||
(local $foo i32) |
|||
|
|||
(i32.const 10) |
|||
(local.tee $foo) |
|||
|
|||
i32.clz |
|||
) |
|||
) |
|||
;; wasm[0]::function[0]: |
|||
;; stp x29, x30, [sp, #-0x10]! |
|||
;; mov x29, sp |
|||
;; mov x28, sp |
|||
;; mov x9, x0 |
|||
;; sub sp, sp, #0x18 |
|||
;; mov x28, sp |
|||
;; stur x0, [x28, #0x10] |
|||
;; stur x1, [x28, #8] |
|||
;; mov x16, #0 |
|||
;; stur x16, [x28] |
|||
;; mov x16, #0xa |
|||
;; mov w0, w16 |
|||
;; stur w0, [x28, #4] |
|||
;; clz w0, w0 |
|||
;; add sp, sp, #0x18 |
|||
;; mov x28, sp |
|||
;; ldp x29, x30, [sp], #0x10 |
|||
;; ret |
@ -0,0 +1,25 @@ |
|||
;;! target = "aarch64" |
|||
;;! test = "winch" |
|||
|
|||
(module |
|||
(func (param i32) (result i32) |
|||
(local.get 0) |
|||
(i32.clz) |
|||
) |
|||
) |
|||
;; wasm[0]::function[0]: |
|||
;; stp x29, x30, [sp, #-0x10]! |
|||
;; mov x29, sp |
|||
;; mov x28, sp |
|||
;; mov x9, x0 |
|||
;; sub sp, sp, #0x18 |
|||
;; mov x28, sp |
|||
;; stur x0, [x28, #0x10] |
|||
;; stur x1, [x28, #8] |
|||
;; stur w2, [x28, #4] |
|||
;; ldur w0, [x28, #4] |
|||
;; clz w0, w0 |
|||
;; add sp, sp, #0x18 |
|||
;; mov x28, sp |
|||
;; ldp x29, x30, [sp], #0x10 |
|||
;; ret |
@ -0,0 +1,26 @@ |
|||
;;! target = "aarch64" |
|||
;;! test = "winch" |
|||
|
|||
(module |
|||
(func (result i32) |
|||
(i32.const 10) |
|||
(i32.ctz) |
|||
) |
|||
) |
|||
;; wasm[0]::function[0]: |
|||
;; stp x29, x30, [sp, #-0x10]! |
|||
;; mov x29, sp |
|||
;; mov x28, sp |
|||
;; mov x9, x0 |
|||
;; sub sp, sp, #0x10 |
|||
;; mov x28, sp |
|||
;; stur x0, [x28, #8] |
|||
;; stur x1, [x28] |
|||
;; mov x16, #0xa |
|||
;; mov w0, w16 |
|||
;; rbit w16, w0 |
|||
;; clz w0, w16 |
|||
;; add sp, sp, #0x10 |
|||
;; mov x28, sp |
|||
;; ldp x29, x30, [sp], #0x10 |
|||
;; ret |
@ -0,0 +1,31 @@ |
|||
;;! target = "aarch64" |
|||
;;! test = "winch" |
|||
|
|||
(module |
|||
(func (result i32) |
|||
(local $foo i32) |
|||
(i32.const 10) |
|||
(local.tee $foo) |
|||
i32.ctz |
|||
) |
|||
) |
|||
;; wasm[0]::function[0]: |
|||
;; stp x29, x30, [sp, #-0x10]! |
|||
;; mov x29, sp |
|||
;; mov x28, sp |
|||
;; mov x9, x0 |
|||
;; sub sp, sp, #0x18 |
|||
;; mov x28, sp |
|||
;; stur x0, [x28, #0x10] |
|||
;; stur x1, [x28, #8] |
|||
;; mov x16, #0 |
|||
;; stur x16, [x28] |
|||
;; mov x16, #0xa |
|||
;; mov w0, w16 |
|||
;; stur w0, [x28, #4] |
|||
;; rbit w16, w0 |
|||
;; clz w0, w16 |
|||
;; add sp, sp, #0x18 |
|||
;; mov x28, sp |
|||
;; ldp x29, x30, [sp], #0x10 |
|||
;; ret |
@ -0,0 +1,26 @@ |
|||
;;! target = "aarch64" |
|||
;;! test = "winch" |
|||
|
|||
(module |
|||
(func (param i32) (result i32) |
|||
(local.get 0) |
|||
(i32.ctz) |
|||
) |
|||
) |
|||
;; wasm[0]::function[0]: |
|||
;; stp x29, x30, [sp, #-0x10]! |
|||
;; mov x29, sp |
|||
;; mov x28, sp |
|||
;; mov x9, x0 |
|||
;; sub sp, sp, #0x18 |
|||
;; mov x28, sp |
|||
;; stur x0, [x28, #0x10] |
|||
;; stur x1, [x28, #8] |
|||
;; stur w2, [x28, #4] |
|||
;; ldur w0, [x28, #4] |
|||
;; rbit w16, w0 |
|||
;; clz w0, w16 |
|||
;; add sp, sp, #0x18 |
|||
;; mov x28, sp |
|||
;; ldp x29, x30, [sp], #0x10 |
|||
;; ret |
@ -0,0 +1,25 @@ |
|||
;;! target = "aarch64" |
|||
;;! test = "winch" |
|||
|
|||
(module |
|||
(func (result i64) |
|||
(i64.const 10) |
|||
(i64.clz) |
|||
) |
|||
) |
|||
;; wasm[0]::function[0]: |
|||
;; stp x29, x30, [sp, #-0x10]! |
|||
;; mov x29, sp |
|||
;; mov x28, sp |
|||
;; mov x9, x0 |
|||
;; sub sp, sp, #0x10 |
|||
;; mov x28, sp |
|||
;; stur x0, [x28, #8] |
|||
;; stur x1, [x28] |
|||
;; mov x16, #0xa |
|||
;; mov x0, x16 |
|||
;; clz x0, x0 |
|||
;; add sp, sp, #0x10 |
|||
;; mov x28, sp |
|||
;; ldp x29, x30, [sp], #0x10 |
|||
;; ret |
@ -0,0 +1,32 @@ |
|||
;;! target = "aarch64" |
|||
;;! test = "winch" |
|||
|
|||
(module |
|||
(func (result i64) |
|||
(local $foo i64) |
|||
|
|||
(i64.const 10) |
|||
(local.tee $foo) |
|||
|
|||
i64.clz |
|||
) |
|||
) |
|||
;; wasm[0]::function[0]: |
|||
;; stp x29, x30, [sp, #-0x10]! |
|||
;; mov x29, sp |
|||
;; mov x28, sp |
|||
;; mov x9, x0 |
|||
;; sub sp, sp, #0x18 |
|||
;; mov x28, sp |
|||
;; stur x0, [x28, #0x10] |
|||
;; stur x1, [x28, #8] |
|||
;; mov x16, #0 |
|||
;; stur x16, [x28] |
|||
;; mov x16, #0xa |
|||
;; mov x0, x16 |
|||
;; stur x0, [x28] |
|||
;; clz x0, x0 |
|||
;; add sp, sp, #0x18 |
|||
;; mov x28, sp |
|||
;; ldp x29, x30, [sp], #0x10 |
|||
;; ret |
@ -0,0 +1,25 @@ |
|||
;;! target = "aarch64" |
|||
;;! test = "winch" |
|||
|
|||
(module |
|||
(func (param i64) (result i64) |
|||
(local.get 0) |
|||
(i64.clz) |
|||
) |
|||
) |
|||
;; wasm[0]::function[0]: |
|||
;; stp x29, x30, [sp, #-0x10]! |
|||
;; mov x29, sp |
|||
;; mov x28, sp |
|||
;; mov x9, x0 |
|||
;; sub sp, sp, #0x18 |
|||
;; mov x28, sp |
|||
;; stur x0, [x28, #0x10] |
|||
;; stur x1, [x28, #8] |
|||
;; stur x2, [x28] |
|||
;; ldur x0, [x28] |
|||
;; clz x0, x0 |
|||
;; add sp, sp, #0x18 |
|||
;; mov x28, sp |
|||
;; ldp x29, x30, [sp], #0x10 |
|||
;; ret |
@ -0,0 +1,26 @@ |
|||
;;! target = "aarch64" |
|||
;;! test = "winch" |
|||
|
|||
(module |
|||
(func (result i64) |
|||
(i64.const 10) |
|||
(i64.ctz) |
|||
) |
|||
) |
|||
;; wasm[0]::function[0]: |
|||
;; stp x29, x30, [sp, #-0x10]! |
|||
;; mov x29, sp |
|||
;; mov x28, sp |
|||
;; mov x9, x0 |
|||
;; sub sp, sp, #0x10 |
|||
;; mov x28, sp |
|||
;; stur x0, [x28, #8] |
|||
;; stur x1, [x28] |
|||
;; mov x16, #0xa |
|||
;; mov x0, x16 |
|||
;; rbit x16, x0 |
|||
;; clz x0, x16 |
|||
;; add sp, sp, #0x10 |
|||
;; mov x28, sp |
|||
;; ldp x29, x30, [sp], #0x10 |
|||
;; ret |
@ -0,0 +1,33 @@ |
|||
;;! target = "aarch64" |
|||
;;! test = "winch" |
|||
|
|||
(module |
|||
(func (result i64) |
|||
(local $foo i64) |
|||
|
|||
(i64.const 10) |
|||
(local.tee $foo) |
|||
|
|||
i64.ctz |
|||
) |
|||
) |
|||
;; wasm[0]::function[0]: |
|||
;; stp x29, x30, [sp, #-0x10]! |
|||
;; mov x29, sp |
|||
;; mov x28, sp |
|||
;; mov x9, x0 |
|||
;; sub sp, sp, #0x18 |
|||
;; mov x28, sp |
|||
;; stur x0, [x28, #0x10] |
|||
;; stur x1, [x28, #8] |
|||
;; mov x16, #0 |
|||
;; stur x16, [x28] |
|||
;; mov x16, #0xa |
|||
;; mov x0, x16 |
|||
;; stur x0, [x28] |
|||
;; rbit x16, x0 |
|||
;; clz x0, x16 |
|||
;; add sp, sp, #0x18 |
|||
;; mov x28, sp |
|||
;; ldp x29, x30, [sp], #0x10 |
|||
;; ret |
@ -0,0 +1,26 @@ |
|||
;;! target = "aarch64" |
|||
;;! test = "winch" |
|||
|
|||
(module |
|||
(func (param i64) (result i64) |
|||
(local.get 0) |
|||
(i64.ctz) |
|||
) |
|||
) |
|||
;; wasm[0]::function[0]: |
|||
;; stp x29, x30, [sp, #-0x10]! |
|||
;; mov x29, sp |
|||
;; mov x28, sp |
|||
;; mov x9, x0 |
|||
;; sub sp, sp, #0x18 |
|||
;; mov x28, sp |
|||
;; stur x0, [x28, #0x10] |
|||
;; stur x1, [x28, #8] |
|||
;; stur x2, [x28] |
|||
;; ldur x0, [x28] |
|||
;; rbit x16, x0 |
|||
;; clz x0, x16 |
|||
;; add sp, sp, #0x18 |
|||
;; mov x28, sp |
|||
;; ldp x29, x30, [sp], #0x10 |
|||
;; ret |
Loading…
Reference in new issue