#include <stdio.h>

static void schedule(void);

//////// cut here /////////////

extern int __get_TR_was_miscompiled;
static inline unsigned int get_TR(void) __attribute__ ((pure));
static inline unsigned int get_TR(void)
{
	unsigned tr;
	__asm__("str %w0"
		: "=g" (tr)
		: "m" (__get_TR_was_miscompiled));
	return tr;
}
//////// cut here ///////////

int main(void)
{
	int cpu1, cpu2, cpu3, cpu4;
	cpu1 = get_TR();
	cpu2 = get_TR();
	schedule();
	cpu3 = get_TR();
	cpu4 = get_TR();
	printf("the cpu values were %d %d %d %d.\n",
		cpu1, cpu2, cpu3, cpu4);
	return 0;
}

static int cpu;
static void schedule(void)
{
	cpu = 2;
	printf("schedule called .\n");
}
