#objdump: -dr
#name: vector
.*: +file format .*

Disassembly of section .text:

00000000 <add_on_sign>:
   0:	0c c4 0d 08 	R4.H = R4.L = SIGN \(R1.H\) \* R5.H \+ SIGN \(R1.L\) \* R5.L;

00000004 <vit_max>:
   4:	09 c6 15 8e 	R7 = VIT_MAX \(R5, R2\) \(ASL\);
   8:	09 c6 30 c0 	R0 = VIT_MAX \(R0, R6\) \(ASR\);
   c:	09 c6 03 0a 	R5.L = VIT_MAX \(R3\) \(ASL\);
  10:	09 c6 02 44 	R2.L = VIT_MAX \(R2\) \(ASR\);

00000014 <vector_abs>:
  14:	06 c4 28 8a 	R5 = ABS R5 \(V\);
  18:	06 c4 00 84 	R2 = ABS R0 \(V\);

0000001c <vector_add_sub>:
  1c:	00 c4 1a 0a 	R5 = R3 \+\|\+ R2;
  20:	00 c4 1a 3a 	R5 = R3 \+\|\+ R2 \(SCO\);
  24:	00 c4 06 8e 	R7 = R0 -\|\+ R6;
  28:	00 c4 0b a4 	R2 = R1 -\|\+ R3 \(S\);
  2c:	00 c4 02 48 	R4 = R0 \+\|- R2;
  30:	00 c4 0a 5a 	R5 = R1 \+\|- R2 \(CO\);
  34:	00 c4 1c cc 	R6 = R3 -\|- R4;
  38:	00 c4 2e de 	R7 = R5 -\|- R6 \(CO\);
  3c:	01 c4 63 bf 	R5 = R4 \+\|\+ R3, R7 = R4 -\|- R3 \(SCO, ASR\);
  40:	01 c4 1e c2 	R0 = R3 \+\|\+ R6, R1 = R3 -\|- R6 \(ASL\);
  44:	21 c4 ca 2d 	R7 = R1 \+\|- R2, R6 = R1 -\|\+ R2 \(S\);
  48:	21 c4 53 0a 	R1 = R2 \+\|- R3, R5 = R2 -\|\+ R3;
  4c:	04 c4 41 8d 	R5 = R0 \+ R1, R6 = R0 - R1 \(NS\);
  50:	04 c4 39 a6 	R0 = R7 \+ R1, R3 = R7 - R1 \(S\);
  54:	11 c4 [c-f][[:xdigit:]] 0b 	R7 = A1 \+ A0, R5 = A1 - A0 \(NS\);
  58:	11 c4 [c-f][[:xdigit:]] 6c 	R3 = A0 \+ A1, R6 = A0 - A1 \(S\);

0000005c <vector_ashift>:
  5c:	81 c6 8b 03 	R1 = R3 >>> 0xf \(V\);
  60:	81 c6 e0 09 	R4 = R0 >>> 0x4 \(V\);
  64:	81 c6 00 4a 	R5 = R0 << 0x0 \(V, S\);
  68:	81 c6 62 44 	R2 = R2 << 0xc \(V, S\);
  6c:	01 c6 15 0e 	R7 = ASHIFT R5 BY R2.L \(V\);
  70:	01 c6 02 40 	R0 = ASHIFT R2 BY R0.L \(V, S\);

00000074 <vector_lshift>:
  74:	81 c6 8a 8b 	R5 = R2 >> 0xf \(V\);
  78:	81 c6 11 80 	R0 = R1 << 0x2 \(V\);
  7c:	01 c6 11 88 	R4 = LSHIFT R1 BY R2.L \(V\);

00000080 <vector_max>:
  80:	06 c4 01 0c 	R6 = MAX \(R0, R1\) \(V\);

00000084 <vector_min>:
  84:	06 c4 17 40 	R0 = MIN \(R2, R7\) \(V\);

00000088 <vector_mul>:
  88:	04 c2 be 66 	R2.H = R7.L \* R6.H, R2.L = R7.H \* R6.H;
  8c:	04 c2 08 e1 	R4.H = R1.H \* R0.H, R4.L = R1.L \* R0.L;
  90:	04 c2 1a a0 	R0.H = R3.H \* R2.L, R0.L = R3.L \* R2.L;
  94:	94 c2 5a e1 	R5.H = R3.H \* R2.H \(M\), R5.L = R3.L \* R2.L \(FU\);
  98:	2c c2 27 e0 	R1 = R4.H \* R7.H, R0 = R4.L \* R7.L \(S2RND\);
  9c:	0c c2 95 27 	R7 = R2.L \* R5.L, R6 = R2.H \* R5.H;
  a0:	24 c3 3e e0 	R0.H = R7.H \* R6.H, R0.L = R7.L \* R6.L \(ISS2\);
  a4:	04 c3 c1 e0 	R3.H = R0.H \* R1.H, R3.L = R0.L \* R1.L \(IS\);
  a8:	00 c0 13 46 	A1 = R2.L \* R3.H, A0 = R2.H \* R3.H;
  ac:	01 c0 08 c0 	A1 \+= R1.H \* R0.H, A0 = R1.L \* R0.L;
  b0:	60 c0 2f c8 	A1 = R5.H \* R7.H, A0 \+= R5.L \* R7.L \(W32\);
  b4:	01 c1 01 c0 	A1 \+= R0.H \* R1.H, A0 = R0.L \* R1.L \(IS\);
  b8:	90 c0 1c c8 	A1 = R3.H \* R4.H \(M\), A0 \+= R3.L \* R4.L \(FU\);
  bc:	01 c0 24 96 	A1 \+= R4.H \* R4.L, A0 -= R4.H \* R4.H;
  c0:	25 c1 3e e8 	R0.H = \(A1 \+= R7.H \* R6.H\), R0.L = \(A0 \+= R7.L \* R6.L\) \(ISS2\);
  c4:	27 c0 81 28 	R2.H = A1, R2.L = \(A0 \+= R0.L \* R1.L\) \(S2RND\);
  c8:	04 c0 d1 c9 	R7.H = \(A1 = R2.H \* R1.H\), A0 \+= R2.L \* R1.L;
  cc:	04 c0 be 66 	R2.H = \(A1 = R7.L \* R6.H\), R2.L = \(A0 = R7.H \* R6.H\);
  d0:	05 c0 9a e1 	R6.H = \(A1 \+= R3.H \* R2.H\), R6.L = \(A0 = R3.L \* R2.L\);
  d4:	05 c0 f5 a7 	R7.H = \(A1 \+= R6.H \* R5.L\), R7.L = \(A0 = R6.H \* R5.H\);
  d8:	14 c0 3c a8 	R0.H = \(A1 = R7.H \* R4.L\) \(M\), R0.L = \(A0 \+= R7.L \* R4.L\);
  dc:	94 c0 5a e9 	R5.H = \(A1 = R3.H \* R2.H\) \(M\), R5.L = \(A0 \+= R3.L \* R2.L\) \(FU\);
  e0:	05 c1 1a e0 	R0.H = \(A1 \+= R3.H \* R2.H\), R0.L = \(A0 = R3.L \* R2.L\) \(IS\);
  e4:	1c c0 b7 d0 	R3 = \(A1 = R6.H \* R7.H\) \(M\), A0 -= R6.L \* R7.L;
  e8:	1c c0 3c 2e 	R1 = \(A1 = R7.L \* R4.L\) \(M\), R0 = \(A0 \+= R7.H \* R4.H\);
  ec:	2d c1 3e e8 	R1 = \(A1 \+= R7.H \* R6.H\), R0 = \(A0 \+= R7.L \* R6.L\) \(ISS2\);
  f0:	0d c0 37 e1 	R5 = \(A1 \+= R6.H \* R7.H\), R4 = \(A0 = R6.L \* R7.L\);
  f4:	0d c0 9d f1 	R7 = \(A1 \+= R3.H \* R5.H\), R6 = \(A0 -= R3.L \* R5.L\);
  f8:	0e c0 37 c9 	R5 = \(A1 -= R6.H \* R7.H\), A0 \+= R6.L \* R7.L;
  fc:	0c c0 b7 e0 	R3 = \(A1 = R6.H \* R7.H\), R2 = \(A0 = R6.L \* R7.L\);
 100:	9c c0 1f e9 	R5 = \(A1 = R3.H \* R7.H\) \(M\), R4 = \(A0 \+= R3.L \* R7.L\) \(FU\);
 104:	2f c0 81 28 	R3 = A1, R2 = \(A0 \+= R0.L \* R1.L\) \(S2RND\);
 108:	0d c1 1a e0 	R1 = \(A1 \+= R3.H \* R2.H\), R0 = \(A0 = R3.L \* R2.L\) \(IS\);

0000010c <vector_negate>:
 10c:	0f c4 08 c0 	R0 = -R1 \(V\);
 110:	0f c4 10 ce 	R7 = -R2 \(V\);

00000114 <vector_pack>:
 114:	04 c6 08 8e 	R7 = PACK \(R0.H, R1.L\);
 118:	04 c6 31 cc 	R6 = PACK \(R1.H, R6.H\);
 11c:	04 c6 12 4a 	R5 = PACK \(R2.L, R2.H\);

00000120 <vector_search>:
 120:	0d c4 10 82 	\(R0, R1\) = SEARCH R2 \(LT\);
 124:	0d c4 80 cf 	\(R6, R7\) = SEARCH R0 \(LE\);
 128:	0d c4 c8 0c 	\(R3, R6\) = SEARCH R1 \(GT\);
 12c:	0d c4 18 4b 	\(R4, R5\) = SEARCH R3 \(GE\);
