Upload Tizen:Base source
[external/binutils.git] / gas / testsuite / gas / cris / mulbug-err-1.s
1 ; Test error message for mul insns at locations likely to trig
2 ; a hardware bug.
3
4 ;  { dg-do assemble { target cris-*-* } }
5 ;  { dg-options "--em=criself" }
6
7  ; First, .text isn't dword-aligned by default.
8  .text
9  muls.w $r1,$r4 ; { dg-error "align" }
10  nop
11  muls.b $r1,$r4 ; { dg-error "align" }
12  mulu.d $r1,$r4 ; { dg-error "align" }
13
14 ; Neither are other code sections, aligned to word.
15  .section .text.1,"ax",@progbits
16  .p2align 1
17  muls.w $r1,$r4 ; { dg-error "align" }
18  nop
19  mulu.b $r1,$r4 ; { dg-error "align" }
20  muls.d $r1,$r4 ; { dg-error "align" }
21
22 ; Now, a section aligned to dword.  Errors for certain relative
23 ; positions only.
24  .section .text.2,"ax",@progbits
25  .p2align 2
26  mulu.w $r1,$r4
27  nop
28  muls.d $r1,$r4
29  mulu.w $r1,$r4 ; { dg-error "align" }
30
31 ; For good measure, a cache-line-aligned section.
32  .section .text.3,"ax",@progbits
33  .p2align 5
34  muls.w $r1,$r4
35  mulu.d $r4,$r1
36  mulu.b $r1,$r4
37  .rept 12
38  nop
39  .endr
40  mulu.b $r1,$r4 ; { dg-error "align" }
41  mulu.b $r1,$r4
42
43 ; Last, make sure typical alignment use by a fixed gcc passes.
44  .section .text.4,"ax",@progbits
45  .align 1
46  moveq 0,$r13
47  moveq 1,$r13
48  .p2alignw 5,0x050f,2
49  muls.d $r1,$r4
50  .rept 12
51  moveq 2,$r13
52  .endr
53  .p2alignw 5,0x050f,2
54  muls.w $r1,$r4
55  .p2alignw 5,0x050f,2
56  muls.b $r4,$r1