13cea0927SPavel Zbitskiy #include <unistd.h>
23cea0927SPavel Zbitskiy
main(void)33cea0927SPavel Zbitskiy int main(void)
43cea0927SPavel Zbitskiy {
53cea0927SPavel Zbitskiy char data[] = {0xaa, 0xaa, 0xf1, 0xf2, 0xf3, 0xc4, 0xaa, 0xaa};
63cea0927SPavel Zbitskiy char exp[] = {0xaa, 0xaa, 0x00, 0x01, 0x23, 0x4c, 0xaa, 0xaa};
73cea0927SPavel Zbitskiy int i;
83cea0927SPavel Zbitskiy
93cea0927SPavel Zbitskiy asm volatile(
103cea0927SPavel Zbitskiy " pack 2(4,%[data]),2(4,%[data])\n"
113cea0927SPavel Zbitskiy :
12*f530ba8fSThomas Huth : [data] "a" (&data[0])
133cea0927SPavel Zbitskiy : "memory");
143cea0927SPavel Zbitskiy for (i = 0; i < 8; i++) {
153cea0927SPavel Zbitskiy if (data[i] != exp[i]) {
163cea0927SPavel Zbitskiy write(1, "bad data\n", 9);
173cea0927SPavel Zbitskiy return 1;
183cea0927SPavel Zbitskiy }
193cea0927SPavel Zbitskiy }
203cea0927SPavel Zbitskiy return 0;
213cea0927SPavel Zbitskiy }
22