1/* 2* Copyright (c) 2017, Intel Corporation 3* 4* Permission is hereby granted, free of charge, to any person obtaining a 5* copy of this software and associated documentation files (the "Software"), 6* to deal in the Software without restriction, including without limitation 7* the rights to use, copy, modify, merge, publish, distribute, sublicense, 8* and/or sell copies of the Software, and to permit persons to whom the 9* Software is furnished to do so, subject to the following conditions: 10* 11* The above copyright notice and this permission notice shall be included 12* in all copies or substantial portions of the Software. 13* 14* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 15* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 17* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR 18* OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 19* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 20* OTHER DEALINGS IN THE SOFTWARE. 21*/ 22 23L0: 24 cmp (1|M0) (eq)f0.0 null.0<1>:w r[a0.3]<0;1,0>:uw 0x0:uw 25(W&f0.0) jmpi L272 26L32: 27 cmp (16|M0) (ne)f0.0 null.0<1>:w r[a0.7]<16;16,1>:uw 0x0:uw 28 and (1|M0) f0.0<1>:uw f0.0<0;1,0>:uw r[a0.3]<0;1,0>:uw 29(f0.0) if (16|M0) L256 L256 30L80: 31 add (16|M0) (sat)r17.0<1>:uw r[a0.7]<16;16,1>:uw 0x100:uw 32 add (16|M0) (sat)r16.0<1>:uw -r[a0.7]<16;16,1>:uw 0xFF00:uw 33 mul (16|M0) acc0.0<1>:w r[a0.4]<16;16,1>:uw r17.0<16;16,1>:uw 34 mac (16|M0) acc0.0<1>:w r[a0.0]<16;16,1>:uw r16.0<16;16,1>:uw 35 shr (16|M0) (sat)r[a0.0]<1>:uw acc0.0<16;16,1>:w 0x10:uw 36 mul (16|M0) acc0.0<1>:w r[a0.5]<16;16,1>:uw r17.0<16;16,1>:uw 37 mac (16|M0) acc0.0<1>:w r[a0.1]<16;16,1>:uw r16.0<16;16,1>:uw 38 shr (16|M0) (sat)r[a0.1]<1>:uw acc0.0<16;16,1>:w 0x10:uw 39 mul (16|M0) acc0.0<1>:w r[a0.6]<16;16,1>:uw r17.0<16;16,1>:uw 40 mac (16|M0) acc0.0<1>:w r[a0.2]<16;16,1>:uw r16.0<16;16,1>:uw 41 shr (16|M0) (sat)r[a0.2]<1>:uw acc0.0<16;16,1>:w 0x10:uw 42L256: 43 endif (16|M0) L272 44L272: 45 cmp (1|M0) (eq)f0.0 null.0<1>:w r[a0.3,2]<0;1,0>:uw 0x0:uw 46(W&f0.0) jmpi L544 47L304: 48 cmp (16|M0) (ne)f0.0 null.0<1>:w r[a0.7,32]<16;16,1>:uw 0x0:uw 49 and (1|M0) f0.0<1>:uw f0.0<0;1,0>:uw r[a0.3,2]<0;1,0>:uw 50(f0.0) if (16|M0) L528 L528 51L352: 52 add (16|M0) (sat)r17.0<1>:uw r[a0.7,32]<16;16,1>:uw 0x100:uw 53 add (16|M0) (sat)r16.0<1>:uw -r[a0.7,32]<16;16,1>:uw 0xFF00:uw 54 mul (16|M0) acc0.0<1>:w r[a0.4,32]<16;16,1>:uw r17.0<16;16,1>:uw 55 mac (16|M0) acc0.0<1>:w r[a0.0,32]<16;16,1>:uw r16.0<16;16,1>:uw 56 shr (16|M0) (sat)r[a0.0,32]<1>:uw acc0.0<16;16,1>:w 0x10:uw 57 mul (16|M0) acc0.0<1>:w r[a0.5,32]<16;16,1>:uw r17.0<16;16,1>:uw 58 mac (16|M0) acc0.0<1>:w r[a0.1,32]<16;16,1>:uw r16.0<16;16,1>:uw 59 shr (16|M0) (sat)r[a0.1,32]<1>:uw acc0.0<16;16,1>:w 0x10:uw 60 mul (16|M0) acc0.0<1>:w r[a0.6,32]<16;16,1>:uw r17.0<16;16,1>:uw 61 mac (16|M0) acc0.0<1>:w r[a0.2,32]<16;16,1>:uw r16.0<16;16,1>:uw 62 shr (16|M0) (sat)r[a0.2,32]<1>:uw acc0.0<16;16,1>:w 0x10:uw 63L528: 64 endif (16|M0) L544 65L544: 66 add (4|M0) a0.0<1>:ud a0.0<4;4,1>:ud r22.4<1;2,0>:ud 67 add (1|M0) a0.3<1>:w a0.3<0;1,0>:w -r22.9<0;1,0>:w 68 cmp (1|M0) (eq)f0.0 null.0<1>:w r[a0.3,4]<0;1,0>:uw 0x0:uw 69(W&f0.0) jmpi L848 70L608: 71 cmp (16|M0) (ne)f0.0 null.0<1>:w r[a0.7]<16;16,1>:uw 0x0:uw 72 and (1|M0) f0.0<1>:uw f0.0<0;1,0>:uw r[a0.3,4]<0;1,0>:uw 73(f0.0) if (16|M0) L832 L832 74L656: 75 add (16|M0) (sat)r17.0<1>:uw r[a0.7]<16;16,1>:uw 0x100:uw 76 add (16|M0) (sat)r16.0<1>:uw -r[a0.7]<16;16,1>:uw 0xFF00:uw 77 mul (16|M0) acc0.0<1>:w r[a0.4]<16;16,1>:uw r17.0<16;16,1>:uw 78 mac (16|M0) acc0.0<1>:w r[a0.0]<16;16,1>:uw r16.0<16;16,1>:uw 79 shr (16|M0) (sat)r[a0.0]<1>:uw acc0.0<16;16,1>:w 0x10:uw 80 mul (16|M0) acc0.0<1>:w r[a0.5]<16;16,1>:uw r17.0<16;16,1>:uw 81 mac (16|M0) acc0.0<1>:w r[a0.1]<16;16,1>:uw r16.0<16;16,1>:uw 82 shr (16|M0) (sat)r[a0.1]<1>:uw acc0.0<16;16,1>:w 0x10:uw 83 mul (16|M0) acc0.0<1>:w r[a0.6]<16;16,1>:uw r17.0<16;16,1>:uw 84 mac (16|M0) acc0.0<1>:w r[a0.2]<16;16,1>:uw r16.0<16;16,1>:uw 85 shr (16|M0) (sat)r[a0.2]<1>:uw acc0.0<16;16,1>:w 0x10:uw 86L832: 87 endif (16|M0) L848 88L848: 89 cmp (1|M0) (eq)f0.0 null.0<1>:w r[a0.3,6]<0;1,0>:uw 0x0:uw 90(W&f0.0) jmpi L1120 91L880: 92 cmp (16|M0) (ne)f0.0 null.0<1>:w r[a0.7,32]<16;16,1>:uw 0x0:uw 93 and (1|M0) f0.0<1>:uw f0.0<0;1,0>:uw r[a0.3,6]<0;1,0>:uw 94(f0.0) if (16|M0) L1104 L1104 95L928: 96 add (16|M0) (sat)r17.0<1>:uw r[a0.7,32]<16;16,1>:uw 0x100:uw 97 add (16|M0) (sat)r16.0<1>:uw -r[a0.7,32]<16;16,1>:uw 0xFF00:uw 98 mul (16|M0) acc0.0<1>:w r[a0.4,32]<16;16,1>:uw r17.0<16;16,1>:uw 99 mac (16|M0) acc0.0<1>:w r[a0.0,32]<16;16,1>:uw r16.0<16;16,1>:uw 100 shr (16|M0) (sat)r[a0.0,32]<1>:uw acc0.0<16;16,1>:w 0x10:uw 101 mul (16|M0) acc0.0<1>:w r[a0.5,32]<16;16,1>:uw r17.0<16;16,1>:uw 102 mac (16|M0) acc0.0<1>:w r[a0.1,32]<16;16,1>:uw r16.0<16;16,1>:uw 103 shr (16|M0) (sat)r[a0.1,32]<1>:uw acc0.0<16;16,1>:w 0x10:uw 104 mul (16|M0) acc0.0<1>:w r[a0.6,32]<16;16,1>:uw r17.0<16;16,1>:uw 105 mac (16|M0) acc0.0<1>:w r[a0.2,32]<16;16,1>:uw r16.0<16;16,1>:uw 106 shr (16|M0) (sat)r[a0.2,32]<1>:uw acc0.0<16;16,1>:w 0x10:uw 107L1104: 108 endif (16|M0) L1120 109L1120: 110 nop 111