summaryrefslogtreecommitdiff
path: root/test/llvm_autogenerated/signext-zeroext.s
blob: 6a35e7461f0d0a21e8ae7f4788037340a8416595 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
	.text
	.file	"/s/llvm/llvm/test/CodeGen/WebAssembly/signext-zeroext.ll"
	.globl	z2s_func
	.type	z2s_func,@function
z2s_func:
	.param  	i32
	.result 	i32
	i32.const	$push0=, 24
	i32.shl 	$push1=, $0, $pop0
	i32.const	$push3=, 24
	i32.shr_s	$push2=, $pop1, $pop3
	return  	$pop2
	.endfunc
.Lfunc_end0:
	.size	z2s_func, .Lfunc_end0-z2s_func

	.globl	s2z_func
	.type	s2z_func,@function
s2z_func:
	.param  	i32
	.result 	i32
	i32.const	$push0=, 255
	i32.and 	$push1=, $0, $pop0
	return  	$pop1
	.endfunc
.Lfunc_end1:
	.size	s2z_func, .Lfunc_end1-s2z_func

	.globl	z2s_call
	.type	z2s_call,@function
z2s_call:
	.param  	i32
	.result 	i32
	i32.const	$push0=, 255
	i32.and 	$push1=, $0, $pop0
	i32.call	$push2=, z2s_func@FUNCTION, $pop1
	return  	$pop2
	.endfunc
.Lfunc_end2:
	.size	z2s_call, .Lfunc_end2-z2s_call

	.globl	s2z_call
	.type	s2z_call,@function
s2z_call:
	.param  	i32
	.result 	i32
	i32.const	$push0=, 24
	i32.shl 	$push1=, $0, $pop0
	i32.const	$push8=, 24
	i32.shr_s	$push2=, $pop1, $pop8
	i32.call	$push3=, s2z_func@FUNCTION, $pop2
	i32.const	$push7=, 24
	i32.shl 	$push4=, $pop3, $pop7
	i32.const	$push6=, 24
	i32.shr_s	$push5=, $pop4, $pop6
	return  	$pop5
	.endfunc
.Lfunc_end3:
	.size	s2z_call, .Lfunc_end3-s2z_call