Hi,

I can reproduce the problem with your sieve.vh. Note that it does not
actually use the barrel shift instruction - instead GCC emits calls to
the software implementation __ashlsi3 which is in in libgcc.

The gateware barrel shifter is however enabled in lm32_config.v. I have
added the -mbarrel-shift-enabled option to GCC (I use compiler-rt here
instead of libgcc, and it does not provide ashlsi3), removed -lgcc, and
recompiled. The test now produces better output:

OUT:          2
OUT:          3
OUT:          5
OUT:          7
OUT:         11
OUT:         13
OUT:         17
OUT:         19
OUT:         23
[...]
OUT:         89
OUT:         97
OUT:        101
OUT:        103
OUT:        107
OUT:        109
OUT:        113
OUT:        127

I have attached my sieve.vh. I do not use the Lattice GCC binaries, it's
easier to compile from source:
https://github.com/m-labs/misoc/blob/master/README#L9

Sebastien

@0000000  98 00 00 00 78 1c 00 00 3b 9c ff fc b8 00 d8 00
@0000010  78 01 00 00 38 21 80 00 78 02 00 00 38 42 80 08
@0000020  4c 22 00 04 58 20 00 00 34 21 00 04 e3 ff ff fd
@0000030  f8 00 00 45 78 01 de ad 38 02 be ef 58 22 00 00
@0000040  37 9c ff f4 5b 9b 00 08 5b 9d 00 04 34 1b 00 0c
@0000050  b7 7c d8 00 5b 61 00 00 2b 61 00 00 00 22 00 05
@0000060  78 01 00 00 38 21 80 00 3c 43 00 02 b4 23 08 00
@0000070  28 23 00 00 2b 61 00 00 20 21 00 1f 34 04 00 01
@0000080  bc 81 08 00 b8 61 18 00 78 01 00 00 38 21 80 00
@0000090  3c 42 00 02 b4 22 08 00 58 23 00 00 2b 9b 00 08
@00000a0  2b 9d 00 04 37 9c 00 0c c3 a0 00 00 37 9c ff f4
@00000b0  5b 9b 00 08 5b 9d 00 04 34 1b 00 0c b7 7c d8 00
@00000c0  5b 61 00 00 2b 61 00 00 00 22 00 05 78 01 00 00
@00000d0  38 21 80 00 3c 42 00 02 b4 22 08 00 28 22 00 00
@00000e0  2b 61 00 00 20 21 00 1f 34 03 00 01 bc 61 08 00
@00000f0  a0 41 08 00 7c 21 00 00 20 21 00 ff 2b 9b 00 08
@0000100  2b 9d 00 04 37 9c 00 0c c3 a0 00 00 37 9c ff f4
@0000110  5b 9b 00 08 5b 9d 00 04 34 1b 00 0c b7 7c d8 00
@0000120  5b 61 00 00 78 01 ff 00 38 21 00 04 2b 62 00 00
@0000130  58 22 00 00 2b 9b 00 08 2b 9d 00 04 37 9c 00 0c
@0000140  c3 a0 00 00 37 9c ff ec 5b 9b 00 08 5b 9d 00 04
@0000150  34 1b 00 14 b7 7c d8 00 34 01 00 02 fb ff ff ec
@0000160  34 01 00 00 5b 61 00 00 e0 00 00 29 2b 61 00 00
@0000170  fb ff ff cf b8 20 10 00 34 01 00 00 5c 41 00 20
@0000180  2b 61 00 00 3c 21 00 01 34 21 00 03 fb ff ff e0
@0000190  2b 61 00 00 3c 21 00 02 34 21 00 06 5b 61 ff fc
@00001a0  2b 61 ff fc 20 22 00 01 34 01 00 00 44 41 00 0c
@00001b0  2b 61 ff fc 34 21 ff fd 00 21 00 01 5b 61 ff f8
@00001c0  2b 61 ff f8 34 02 00 3f 50 41 00 02 e0 00 00 0d
@00001d0  2b 61 ff f8 fb ff ff 9b e0 00 00 02 34 00 00 00
@00001e0  2b 61 00 00 3c 22 00 01 2b 61 ff fc b4 41 08 00
@00001f0  34 21 00 03 5b 61 ff fc e3 ff ff ea 34 00 00 00
@0000200  2b 61 00 00 34 21 00 01 5b 61 00 00 2b 61 00 00
@0000210  34 02 00 3f 50 41 ff d6 34 01 00 00 2b 9b 00 08
@0000220  2b 9d 00 04 37 9c 00 14 c3 a0 00 00            
_______________________________________________
Devel mailing list
[email protected]
https://ssl.serverraum.org/lists/listinfo/devel

Reply via email to