1/* 2* Copyright (c) 2012-2013 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 --- 142 unchanged lines hidden (view full) --- 151{ 152 uint64_t t0 = (uint64_t)(uint32_t)a * b; 153 uint64_t t1 = (t0 >> 32) + (a >> 32) * b; 154 *x0 = t1 << 32 | (uint32_t)t0; 155 *x1 = t1 >> 32; 156} 157 158static inline void |
159add128(uint64_t *x0, uint64_t *x1, uint64_t a0, uint64_t a1, uint64_t b0, 160 uint64_t b1) 161{ 162 *x0 = a0 + b0; 163 *x1 = a1 + b1 + (*x0 < a0); 164} 165 166static inline void --- 2903 unchanged lines hidden --- |