23 lines
457 B
C
23 lines
457 B
C
|
#include <stdint.h>
|
||
|
#include <unistd.h>
|
||
|
|
||
|
int main(void)
|
||
|
{
|
||
|
uint32_t op1 = 0x55555555;
|
||
|
uint32_t op2 = 0x44444444;
|
||
|
uint64_t cc = 0xffffffffffffffffull;
|
||
|
|
||
|
asm volatile(
|
||
|
" clc 0(4,%[op1]),0(%[op2])\n"
|
||
|
" ipm %[cc]\n"
|
||
|
: [cc] "+r" (cc)
|
||
|
: [op1] "r" (&op1),
|
||
|
[op2] "r" (&op2)
|
||
|
: "cc");
|
||
|
if (cc != 0xffffffff20ffffffull) {
|
||
|
write(1, "bad cc\n", 7);
|
||
|
return 1;
|
||
|
}
|
||
|
return 0;
|
||
|
}
|