:name:vec128:$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:$62:$63:$64:$65:$66:$67:$68:$69:$70:$71:$72:$73:$74:$75:$76:$77:$78:$79:$80:$81:$82:$83:$84:$85:$86:$87:$88:$89:$90:$91:$92:$93:$94:$95:$96:$97:$98:$99:$100:$101:$102:$103:$104:$105:$106:$107:$108:$109:$110:$111:$112:$113:$114:$115:$116:$117:$118:$119:$120:$121:$122:$123:$124:$125:$126:$127:

:caller:vec128:78:79:80:81:82:83:84:85:86:87:88:89:90:91:92:93:94:95:96:97:98:99:100:101:102:103:104:105:106:107:108:109:110:111:112:113:114:115:116:117:118:119:120:121:122:123:124:125:

:stackname:::
:leftbytes:32:
:stackalign:16:
:stackbytes:stack128:16:

vec128 r:var/r=vec128:

stack128 r:var/r=stack128:

oldenter f:enter/f:asm/.text:asm/.p2align 5:asm/.globl _#f:asm/.global #f:asm/.type #f, @function:asm/#f!colon:asm/stqd $lr, 16($sp):asm/ai $42,$sp,0:asm/ai $sp,$sp,-!frame:asm/stqd $42,0($sp)
enter f:enter/f:asm/.text:asm/.p2align 5:asm/.globl _#f:asm/.global #f:asm/.type #f, @function:asm/#f!colon:asm/stqd $lr, 16($sp):asm/ai $42,$sp,0:asm/il $43,-!frame:asm/a $sp,$sp,$43:asm/stqd $42,0($sp)
sp_plus_8191to127:asm/il $127, 8191:asm/a $127, $127, $sp:
input r:input/r:
output r:output/r:
caller r:caller/r:
oldleave:nofallthrough:leave:asm/ai $sp,$sp,!frame:asm/bi $lr:
leave:nofallthrough:leave:asm/il $43,!frame:asm/a $sp,$sp,$43:asm/._leave!colon:asm/bi $lr:
hint leave:asm/hbr ._leave,$lr:

nop:asm/ nop:
lnop:asm/ lnop:
hbrp:asm/ hbrp:

perf_clear:asm/and 0,0,0:
perf_start:asm/and 30,30,30:
perf_stop:asm/and 31,31,31:

*(vec128 *) ((r + n) & ~15) = s:<r=vec128:<s=vec128:#n:asm/stqd <s,#n(<r):
*(vec128 *) ((r + s) & ~15) = t:<r=vec128:<s=vec128:<t=vec128:asm/stqx <t,<s,<r:
s = *(vec128 *) ((r + n) & ~15):<r=vec128:>s=vec128:#n:asm/lqd >s,#n(<r):
t = *(vec128 *) ((r + s) & ~15):<r=vec128:<s=vec128:>t=vec128:asm/lqx >t,<s,<r:
r = s:>r=stack128:<s=vec128:asm/stqd <s,[32+>r]($sp):
r = s:>r=vec128:<s=stack128:asm/lqd >r,[32+<s]($sp):

r = s:>r=vec128:<s=vec128:asm/ai >r,<s,0:
r = s & t:>r=vec128:<s=vec128:<t=vec128:asm/and >r,<s,<t:
r = s & ~t:>r=vec128:<s=vec128:<t=vec128:asm/andc >r,<s,<t:
r &= s :>r=vec128:<s=vec128:<r=vec128:asm/and >r,<r,<s:
r &= ~s :>r=vec128:<s=vec128:<r=vec128:asm/andc >r,<r,<s:
r = s | t:>r=vec128:<s=vec128:<t=vec128:asm/or >r,<s,<t:
r = s | ~t:>r=vec128:<s=vec128:<t=vec128:asm/orc >r,<s,<t:
r |= s :>r=vec128:<s=vec128:<r=vec128:asm/or >r,<r,<s:
r |= ~s :>r=vec128:<s=vec128:<r=vec128:asm/orc >r,<r,<s:
r = s ^ t:>r=vec128:<s=vec128:<t=vec128:asm/xor >r,<s,<t:
r ^= s :>r=vec128:<s=vec128:<r=vec128:asm/xor >r,<r,<s:
r = ~(s | t):>r=vec128:<s=vec128:<t=vec128:asm/nor >r,<s,<t:

r = s << (t % 8):>r=vec128:<s=vec128:<t=vec128:asm/shlqbi >r,<s,<t:
r <<= (s % 8):>r=vec128:<s=vec128:<r=vec128:asm/shlqbi >r,<r,<s:
r = s << (n % 8):>r=vec128:<s=vec128:#n:asm/shlqbii >r,<s,#n:
r <<= (n % 8):>r=vec128:#n:<r=vec128:asm/shlqbii >r,<r,#n:
r = s >> (n % 8):>r=vec128:<s=vec128:#n:asm/rotqmbii >r,<s,-#n:
r >>= (n % 8):>r=vec128:#n:<r=vec128:asm/rotqmbii >r,<r,-#n:

r = s << (8 * t):>r=vec128:<s=vec128:<t=vec128:asm/shlqby >r,<s,<t:
r <<= (8 * s):>r=vec128:<s=vec128:<r=vec128:asm/shlqby >r,<r,<s:
r = s << (8 * n):>r=vec128:<s=vec128:#n:asm/shlqbyi >r,<s,#n:
r <<= (8 * n):>r=vec128:#n:<r=vec128:asm/shlqbyi >r,<r,#n:
r = s >> (8 * n):>r=vec128:<s=vec128:#n:asm/rotqmbyi >r,<s,-#n:
r >>= (8 * n):>r=vec128:#n:<r=vec128:asm/rotqmbyi >r,<r,-#n:

r = s <<< (8 * n):>r=vec128:<s=vec128:#n:asm/rotqbyi >r,<s,#n:
r <<<= (8 * n):>r=vec128:#n:<r=vec128:asm/rotqbyi >r,<r,#n:

int32323232 r = n:>r=vec128:#n:asm/il >r,#n:
uint32323232 r = n:>r=vec128:#n:asm/ila >r,#n:
int32323232 r = s + t:>r=vec128:<s=vec128:<t=vec128:asm/a >r,<s,<t:
int32323232 r += s:>r=vec128:<s=vec128:<r=vec128:asm/a >r,<r,<s:
int32323232 r = s + n:>r=vec128:<s=vec128:#n:asm/ai >r,<s,#n:
int32323232 r += n:>r=vec128:<r=vec128:#n:asm/ai >r,<r,#n:
int32323232 r = s - t:>r=vec128:<s=vec128:<t=vec128:asm/sf >r,<t,<s:
int32323232 r -= s:>r=vec128:<s=vec128:<r=vec128:asm/sf >r,<s,<r:
int32323232 r = s - n:>r=vec128:<s=vec128:#n:asm/ai >r,<s,-#n:
int32323232 r -= n:>r=vec128:<r=vec128:#n:asm/ai >r,<r,-#n:
int32323232 r <<= n:>r=vec128:<r=vec128:#n:asm/shli >r,<r,#n:
int32323232 r = s << n:>r=vec128:<s=vec128:#n:asm/shli >r,<s,#n:
int32323232 r <<= t:>r=vec128:<r=vec128:<t=vec128:asm/shl >r,<r,<t:
int32323232 r = s << t:>r=vec128:<s=vec128:<t=vec128:asm/shl >r,<s,<t:
int32323232 r >>= n:>r=vec128:<r=vec128:#n:asm/rotmai >r,<r,-#n:
int32323232 r = s >> n:>r=vec128:<s=vec128:#n:asm/rotmai >r,<s,-#n:
uint32323232 r >>= n:>r=vec128:<r=vec128:#n:asm/rotmi >r,<r,-#n:
uint32323232 r = s >> n:>r=vec128:<s=vec128:#n:asm/rotmi >r,<s,-#n:

int32323232 r = s + t + (r & 1):inplace>r=vec128:<s=vec128:<t=vec128:<r=vec128:asm/addx <r,<s,<t:
int32323232 r = carry(s + t):>r=vec128:<s=vec128:<t=vec128:asm/cg >r,<s,<t:
int32323232 r = carry(s + t + (r & 1)):inplace>r=vec128:<s=vec128:<t=vec128:<r=vec128:asm/cg >r,<s,<t:
uint32323232 r = borrow(s - t):>r=vec128:<s=vec128:<t=vec128:asm/bg >r,<s,<t:

int1616161616161616 r = n:>r=vec128:#n:asm/ilh >r,#n:
int1616161616161616 r = s + t:>r=vec128:<s=vec128:<t=vec128:asm/ah >r,<s,<t:
int1616161616161616 r += s:>r=vec128:<s=vec128:<r=vec128:asm/ah >r,<r,<s:
int1616161616161616 r = s + n:>r=vec128:<s=vec128:#n:asm/ahi >r,<s,#n:
int1616161616161616 r += n:>r=vec128:<r=vec128:#n:asm/ahi >r,<r,#n:
int1616161616161616 r = s - t:>r=vec128:<s=vec128:<t=vec128:asm/sfh >r,<t,<s:
int1616161616161616 r -= s:>r=vec128:<s=vec128:<r=vec128:asm/sfh >r,<s,<r:
int1616161616161616 r = s - n:>r=vec128:<s=vec128:#n:asm/ai >r,<s,-#n:
int1616161616161616 r -= n:>r=vec128:<r=vec128:#n:asm/ai >r,<r,-#n:
int1616161616161616 r <<= n:>r=vec128:<r=vec128:#n:asm/shlhi >r,<r,#n:
int1616161616161616 r = s << n:>r=vec128:<s=vec128:#n:asm/shlhi >r,<s,#n:
int1616161616161616 r <<= t:>r=vec128:<r=vec128:<t=vec128:asm/shlh >r,<r,<t:
int1616161616161616 r = s << t:>r=vec128:<s=vec128:<t=vec128:asm/shlh >r,<s,<t:

uint8888888888888888 r = s ^ n:>r=vec128:<s=vec128:#n:asm/xorbi >r,<s,#n: 
uint8888888888888888 r ^= n:>r=vec128:<r=vec128:#n:asm/xorbi >r,<r,#n: 

r = select bytes from s by t:>r=vec128:<s=vec128:<t=vec128:asm/shufb >r,<s,<s,<t:
r = combine s and t by u:>r=vec128:<s=vec128:<t=vec128:<u=vec128:asm/shufb >r,<s,<t,<u:
r = gen mask from n:>r=vec128:#n:asm/fsmbi >r,#n:

int32323232 r = (s & 0xffff) * (t & 0xffff):>r=vec128:<s=vec128:<t=vec128:asm/mpy >r,<s,<t:
int32323232 r = (s & 0xffff) * n:>r=vec128:<s=vec128:#n:asm/mpyi >r,<s,#n:
int32323232 r = (s & 0xffff) * ((t & 0xffff0000) >> 16):>r=vec128:<s=vec128:<t=vec128:asm/mpyh >r,<t,<s:
int32323232 r = (s >> 16) * (t & 0xffff):>r=vec128:<s=vec128:<t=vec128:asm/mpyh >r,<s,<t:
int32323232 r = (s >> 16) * (t >> 16):>r=vec128:<s=vec128:<t=vec128:asm/mpyhh >r,<t,<s:
int32323232 r = u + (s & 0xffff) * (t & 0xffff):>r=vec128:<s=vec128:<t=vec128:<u=vec128:asm/mpya >r,<s,<t,<u:
int32323232 r += (s & 0xffff) * (t & 0xffff):>r=vec128:<s=vec128:<t=vec128:<r=vec128:asm/mpya >r,<s,<t,<r:
int32323232 r = u + (s >> 16) * (t >> 16):>r=vec128:<s=vec128:<t=vec128:<u=vec128:asm/mpyhha >r,<t,<s,<u:
uint32323232 r = (s & 0xffff) * (t & 0xffff):>r=vec128:<s=vec128:<t=vec128:asm/mpyu >r,<s,<t:
uint32323232 r = (s & 0xffff) * n:>r=vec128:<s=vec128:#n:asm/mpyui >r,<s,#n:
uint32323232 r = (s >> 16) * (t >> 16):>r=vec128:<s=vec128:<t=vec128:asm/mpyhhu >r,<t,<s:
uint32323232 r += (s >> 16) * (t >> 16):inplace>r=vec128:<r=vec128:<s=vec128:<t=vec128:asm/mpyhhau <r,<s,<t:

r = ~(s & u) ^ (t & u):>r=vec128:<s=vec128:<t=vec128:<u=vec128:asm/selb >r,<s,<t,<u:

int32323232 r = (s > t)?~0#0:>r=vec128:<s=vec128:<t=vec128:asm/cgt >r,<s,<t:
int32323232 r = 0 - (s > t):>r=vec128:<s=vec128:<t=vec128:asm/cgt >r,<s,<t:
int32323232 r = (s == t)?~0#0:>r=vec128:<s=vec128:<t=vec128:asm/ceq >r,<s,<t:
int32323232 r = 0 - (s == t):>r=vec128:<s=vec128:<t=vec128:asm/ceq >r,<s,<t:
int32323232 r = 0 - (s == n):>r=vec128:<s=vec128:#n:asm/ceqi >r,<s,#n:
uint32323232 r = 0 - (s > t):>r=vec128:<s=vec128:<t=vec128:asm/clgt >r,<s,<t:
uint32323232 r = 0 - (s > n):>r=vec128:<s=vec128:#n:asm/clgti >r,<s,#n
int8888888888888888 r = (s > t)?~0#0:>r=vec128:<s=vec128:<t=vec128:asm/cgt >r,<s,<t:


f#:#f:label/f:asm/._#f!colon:
goto f:nofallthrough:#f:jump/f:asm/br ._#f:
goto f if (r & 0xffff):#f:jump/f:<r=vec128:asm/brhnz <r,._#f:

goto f if (r & 0xffffffff):#f:jump/f:<r=vec128:asm/brnz <r,._#f:

goto f if !(r & 0xffff):#f:jump/f:<r=vec128:asm/brhz <r,._#f:
goto f if !(r & 0xffffffff):#f:jump/f:<r=vec128:asm/brz <r,._#f:

r = extern(n):<r=vec128:#n:asm/lqr <r,#n:
uint32323232 r = s[0] | s[1] | s[2] | s[3]:>r=vec128:<s=vec128:asm/orx >r,<s:
hint from f goto t:#f:#t:asm/hbrr ._#f,._#t:
:
