03.08.2013 Views

Decorated Operations for QorIQ P3/P4/P5 Processors - Freescale ...

Decorated Operations for QorIQ P3/P4/P5 Processors - Freescale ...

Decorated Operations for QorIQ P3/P4/P5 Processors - Freescale ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Decorated</strong> Macro Functions<br />

}<br />

static inline uint32_t decorated_load_set_32(volatile void *a){<br />

uint32_t r;<br />

enum LOAD_DECORATION d = LOAD_DECORATION_SET;<br />

return r;<br />

}<br />

__ASM("lwdx %0, %1, %2":"=r"(r)<br />

: "r"(d), "r"(a)<br />

: "memory");<br />

static inline uint32_t decorated_load_dec_32(volatile void *a){<br />

uint32_t r;<br />

enum LOAD_DECORATION d = LOAD_DECORATION_DEC;<br />

return r;<br />

}<br />

__ASM("lwdx %0, %1, %2":"=r"(r)<br />

: "r"(d), "r"(a)<br />

: "memory");<br />

static inline uint32_t decorated_load_inc_32(volatile void *a){<br />

uint32_t r;<br />

enum LOAD_DECORATION d = LOAD_DECORATION_INC;<br />

return r;<br />

}<br />

__ASM("lwdx %0, %1, %2":"=r"(r)<br />

: "r"(d), "r"(a)<br />

: "memory");<br />

static inline uint64_t decorated_load_clear_64(volatile void *a){<br />

uint64_t r;<br />

enum LOAD_DECORATION d = LOAD_DECORATION_CLEAR;<br />

__ASM("lfddx %0, %1, %2":"=f"(r)<br />

: "r"(d), "r"(a)<br />

: "memory");<br />

<strong>Decorated</strong> <strong>Operations</strong> <strong>for</strong> <strong>QorIQ</strong> <strong>P3</strong>/<strong>P4</strong>/<strong>P5</strong> <strong>Processors</strong>, Rev. A<br />

16 <strong>Freescale</strong> Confidential Proprietary <strong>Freescale</strong> Semiconductor<br />

Preliminary—Subject to Change Without Notice

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!