1/* 2 * Copyright (c) 2010 ARM Limited 3 * All rights reserved 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 104 unchanged lines hidden (view full) --- 113 (0xffULL << 32) | (bigData << 40); 114 break; 115 case 0xd: 116 bigData = (0xffffULL << 0) | (bigData << 16) | 117 (0xffffULL << 32) | (bigData << 48); 118 break; 119 case 0xe: 120 if (op) { |
121 bigData = 0; 122 for (int i = 7; i >= 0; i--) { 123 if (bits(data, i)) { |
124 bigData |= (ULL(0xFF) << (i * 8)); |
125 } 126 } |
127 } else { 128 bigData = (bigData << 0) | (bigData << 8) | 129 (bigData << 16) | (bigData << 24) | 130 (bigData << 32) | (bigData << 40) | 131 (bigData << 48) | (bigData << 56); |
132 } |
133 break; |
134 case 0xf: 135 if (!op) { 136 uint64_t bVal = bits(bigData, 6) ? (0x1F) : (0x20); 137 bigData = (bits(bigData, 5, 0) << 19) | 138 (bVal << 25) | (bits(bigData, 7) << 31); 139 bigData |= (bigData << 32); |
140 break; |
141 } 142 // Fall through 143 default: 144 panic("Illegal modified SIMD immediate parameters.\n"); 145 } 146 return bigData; 147} 148 --- 190 unchanged lines hidden --- |