blob: 73447eb616e3cfbf1d4283f37d571b536c6a061b [file] [log] [blame] [edit]
/*
* Copyright 2016, NICTA
*
* This software may be distributed and modified according to the terms of
* the GNU General Public License version 2. Note that NO WARRANTY is provided.
* See "LICENSE_GPLv2.txt" for details.
*
* @TAG(NICTA_GPL)
*/
#include "pass_prim-ops.h"
static inline u8 ops8(u8 a1)
{
u8 r2 = a1;
u8 r3 = 1U;
u8 r4 = (u8) ((u32) r2 + (u32) r3);
u8 r5 = (u8) ((u32) r4 * (u32) r2);
u8 r6 = (u8) ((u32) r5 - (u32) r4);
u8 r7 = (u8) ((u32) r6 | (u32) r5);
u8 r8 = (u8) ((u32) r7 & (u32) r6);
u8 r9 = (u8) ((u32) r7 ^ (u32) r6);
u8 r10 = (u8) ~(u32) r9;
u8 r11 = r10 >= 8U ? 0U : (u8) ((u32) r9 << (u32) r10);
u8 r12 = r11 >= 8U ? 0U : (u8) ((u32) r10 >> (u32) r11);
u8 r13 = r11 ? (u8) ((u32) r12 / (u32) r11) : 0U;
u8 r14 = r13 ? (u8) ((u32) r12 % (u32) r13) : 0U;
bool_t r15 = (bool_t) {.boolean = r12 < r13};
bool_t r16 = (bool_t) {.boolean = r13 <= r14};
bool_t r17 = (bool_t) {.boolean = r12 == r14};
bool_t r18 = (bool_t) {.boolean = r16.boolean && r17.boolean};
bool_t r19 = (bool_t) {.boolean = r15.boolean && r18.boolean};
u8 r20;
if (r19.boolean) {
r20 = 0U;
} else {
r20 = 1U;
}
u8 r21 = r20;
return r21;
}
static inline u64 ops64(u64 a1)
{
u64 r2 = a1;
u8 r3 = 1U;
u64 r4 = (u64) r3;
u64 r5 = r2 + r4;
u64 r6 = r5 * r2;
u64 r7 = r6 - r5;
u64 r8 = r7 | r6;
u64 r9 = r8 & r7;
u64 r10 = r8 ^ r9;
u64 r11 = ~r10;
u64 r12 = r11 >= 64U ? 0U : r10 << r11;
u64 r13 = r12 >= 64U ? 0U : r11 >> r12;
u64 r14 = r12 ? r13 / r12 : 0U;
u64 r15 = r14 ? r13 % r14 : 0U;
bool_t r16 = (bool_t) {.boolean = r13 < r14};
bool_t r17 = (bool_t) {.boolean = r14 <= r15};
bool_t r18 = (bool_t) {.boolean = r13 == r15};
bool_t r19 = (bool_t) {.boolean = r17.boolean && r18.boolean};
bool_t r20 = (bool_t) {.boolean = r16.boolean && r19.boolean};
u64 r21;
if (r20.boolean) {
u8 r22 = 0U;
r21 = (u64) r22;
} else {
u8 r23 = 1U;
r21 = (u64) r23;
}
u64 r24 = r21;
return r24;
}
static inline u32 ops32(u32 a1)
{
u32 r2 = a1;
u8 r3 = 1U;
u32 r4 = (u32) r3;
u32 r5 = r2 + r4;
u32 r6 = r5 * r2;
u32 r7 = r6 - r5;
u32 r8 = r7 | r6;
u32 r9 = r8 & r7;
u32 r10 = r8 ^ r7;
u32 r11 = ~r10;
u32 r12 = r11 >= 32U ? 0U : r10 << r11;
u32 r13 = r12 >= 32U ? 0U : r11 >> r12;
u32 r14 = r12 ? r13 / r12 : 0U;
u32 r15 = r14 ? r13 % r14 : 0U;
bool_t r16 = (bool_t) {.boolean = r13 < r14};
bool_t r17 = (bool_t) {.boolean = r14 <= r15};
bool_t r18 = (bool_t) {.boolean = r13 == r15};
bool_t r19 = (bool_t) {.boolean = r17.boolean && r18.boolean};
bool_t r20 = (bool_t) {.boolean = r16.boolean && r19.boolean};
u32 r21;
if (r20.boolean) {
u8 r22 = 0U;
r21 = (u32) r22;
} else {
u8 r23 = 1U;
r21 = (u32) r23;
}
u32 r24 = r21;
return r24;
}
static inline u16 ops16(u16 a1)
{
u16 r2 = a1;
u8 r3 = 1U;
u16 r4 = (u16) r3;
u16 r5 = (u16) ((u32) r2 + (u32) r4);
u16 r6 = (u16) ((u32) r5 * (u32) r2);
u16 r7 = (u16) ((u32) r6 - (u32) r5);
u16 r8 = (u16) ((u32) r7 | (u32) r6);
u16 r9 = (u16) ((u32) r8 & (u32) r7);
u16 r10 = (u16) ((u32) r8 ^ (u32) r7);
u16 r11 = (u16) ~(u32) r10;
u16 r12 = r11 >= 16U ? 0U : (u16) ((u32) r10 << (u32) r11);
u16 r13 = r12 >= 16U ? 0U : (u16) ((u32) r11 >> (u32) r12);
u16 r14 = r12 ? (u16) ((u32) r13 / (u32) r12) : 0U;
u16 r15 = r14 ? (u16) ((u32) r13 % (u32) r14) : 0U;
bool_t r16 = (bool_t) {.boolean = r13 < r14};
bool_t r17 = (bool_t) {.boolean = r14 <= r15};
bool_t r18 = (bool_t) {.boolean = r13 == r15};
bool_t r19 = (bool_t) {.boolean = r17.boolean && r18.boolean};
bool_t r20 = (bool_t) {.boolean = r16.boolean && r19.boolean};
u16 r21;
if (r20.boolean) {
u8 r22 = 0U;
r21 = (u16) r22;
} else {
u8 r23 = 1U;
r21 = (u16) r23;
}
u16 r24 = r21;
return r24;
}
static inline bool_t bool_ops(u32 a1)
{
u32 r2 = a1;
u8 r3 = 1U;
u32 r4 = (u32) r3;
u32 r5 = r2 + r4;
u32 r6 = r5 * r2;
bool_t r7 = (bool_t) {.boolean = r2 < r5};
bool_t r8 = (bool_t) {.boolean = r5 <= r6};
bool_t r9 = (bool_t) {.boolean = r6 == r2};
bool_t r10 = (bool_t) {.boolean = r8.boolean && r9.boolean};
bool_t r11 = (bool_t) {.boolean = r10.boolean || r9.boolean};
bool_t r12 = (bool_t) {.boolean = !r11.boolean};
bool_t r13 = (bool_t) {.boolean = 1U};
bool_t r14 = (bool_t) {.boolean = r12.boolean || r13.boolean};
bool_t r15 = (bool_t) {.boolean = !r14.boolean};
bool_t r16 = (bool_t) {.boolean = 0U};
bool_t r17 = (bool_t) {.boolean = r15.boolean && r16.boolean};
bool_t r18 = r17;
return r18;
}