blob: 2f01263b902f5fec20c086a5763bf2c88819b1ce [file] [log] [blame]
/* __regio_symbol operations. */
/* { dg-do compile } */
/* { dg-options "-Os" } */
#include "regio.h"
void
test_r30_w_const (void)
{
/* { dg-final { scan-assembler "mov\\tr30, r\[012\]\[0-9\]?" } } */
__R30 = 1;
}
void
test_r31_w_zext_qi (unsigned char val1)
{
/* { dg-final { scan-assembler "mov\\tr31, r14.b0" } } */
__R31 = val1;
}
void
test_r31_w_zext_hi (unsigned short val1)
{
/* { dg-final { scan-assembler "mov\\tr31, r14.w0" } } */
__R31 = val1;
}
void
test_r31_w (unsigned int val1)
{
/* { dg-final { scan-assembler "mov\\tr31, r14" } } */
__R31 = val1;
}
uint32_t
test_r30_r (void)
{
/* { dg-final { scan-assembler "mov\\tr14, r30" } } */
return __R30;
}
void
test_r30_rw (void)
{
/* { dg-final { scan-assembler "mov\\tr\[012\]\[0-9\]?, r30" } } */
/* { dg-final { scan-assembler "mov\\tr30, r\[012\]\[0-9\]?" } } */
__R30 = __R30;
}
void
test_r31_rw (void)
{
/* { dg-final { scan-assembler "mov\\tr\[012\]\[0-9\]?, r31" } } */
/* { dg-final { scan-assembler "mov\\tr31, r\[012\]\[0-9\]?" } } */
__R31 |= 101;
}