tcgbios: Use assembly for 32 bit rotr in sha256
Use assembly for the 32 bit rotr in the sha256 implementation similar to the assembly used in the sha1 and sha512 implementations. Signed-off-by: Stefan Berger <stefanb@linux.ibm.com> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
This commit is contained in:
parent
cc4c4cb3c1
commit
e1362035a2
|
@ -22,10 +22,16 @@ typedef struct _sha256_ctx {
|
|||
uint32_t h[8];
|
||||
} sha256_ctx;
|
||||
|
||||
static inline uint32_t rotr(uint32_t x, uint8_t n)
|
||||
{
|
||||
return (x >> n) | (x << (32 - n));
|
||||
}
|
||||
#define rotr(VAL, N) \
|
||||
({ \
|
||||
uint32_t res; \
|
||||
__asm__ ( \
|
||||
"rotrwi %0, %1, %2\n\t" \
|
||||
: "=r" (res) \
|
||||
: "r" (VAL), "i" (N) \
|
||||
); \
|
||||
res; \
|
||||
})
|
||||
|
||||
static inline uint32_t Ch(uint32_t x, uint32_t y, uint32_t z)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue