1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- /*
- * arm/math.c - math routines for ARM
- *
- * Copright (C) 2014 Linaro Ltd.
- * Author: Ard Biesheuvel <ard.biesheuvel@linaro.org>
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the Free
- * Software Foundation; either version 2 of the License, or (at your option)
- * any later version.
- */
- #include "lib.h"
- UINT64
- LShiftU64 (
- IN UINT64 Operand,
- IN UINTN Count
- )
- // Left shift 64bit by 32bit and get a 64bit result
- {
- return Operand << Count;
- }
- UINT64
- RShiftU64 (
- IN UINT64 Operand,
- IN UINTN Count
- )
- // Right shift 64bit by 32bit and get a 64bit result
- {
- return Operand >> Count;
- }
- UINT64
- MultU64x32 (
- IN UINT64 Multiplicand,
- IN UINTN Multiplier
- )
- // Multiple 64bit by 32bit and get a 64bit result
- {
- return Multiplicand * Multiplier;
- }
|