4 A bug in stm8 code generation for left shift triggered by stack allocation allocating
5 result and right operands of a left shift to the stack, to overlapping locations.
15 // Just some function that won't be inlined, so calls to it will result in spilling of local variables.
21 unsigned long long f1(void)
23 unsigned char d
= c
+ 1;
25 unsigned long long l1
= i
+ 1;
28 unsigned long long l2
= l1
<< d
;
33 #ifndef __SDCC_pdk14 // Lack of RAM
34 unsigned long long f2(void)
36 unsigned char d
= c
+ 1;
38 unsigned long long l1
= i
+ 1;
43 unsigned long long l2
= l1
<< d
;
48 unsigned long long f3(void)
50 unsigned char d
= c
+ 1;
53 unsigned long long l2
= i
<< d
;
67 #ifndef __SDCC_pdk14 // Lack of RAM