On Wed, Feb 29, 2012 at 07:02:38PM +0100, Jeppe Græsdal Johansen wrote:
> Hey,
> 
> Using the l.lws instruction doesn't work currently. It simply skips
> the instruction. No exception or reaction.
> The patch attached simply duplicates the behaviour of l.lwz for l.lws.
> 
> It seems to compile, but I cannot test it currently.
> 
> Regards,
> Jeppe

Ack on this one, anyone up for committing it?

(P.S can we try to not add new trailing whitespaces,
I'm not anal about this, but I've always got whitespace mode on in
emacs so they are a bit of a nuissance)

Stefan


> Index: rtl/verilog/or1200_ctrl.v
> ===================================================================
> --- rtl/verilog/or1200_ctrl.v (revision 673)
> +++ rtl/verilog/or1200_ctrl.v (working copy)
> @@ -275,7 +275,8 @@
>               id_simm = {{16{id_insn[15]}}, id_insn[15:0]};
>  
>       // l.lxx (load instructions)
> -     `OR1200_OR32_LWZ, `OR1200_OR32_LBZ, `OR1200_OR32_LBS, 
> +     `OR1200_OR32_LWZ, `OR1200_OR32_LWS,
> +   `OR1200_OR32_LBZ, `OR1200_OR32_LBS, 
>       `OR1200_OR32_LHZ, `OR1200_OR32_LHS:
>               id_simm = {{16{id_insn[15]}}, id_insn[15:0]};
>  
> @@ -684,6 +685,7 @@
>               `OR1200_OR32_MACI,
>  `endif
>               `OR1200_OR32_LWZ,
> +             `OR1200_OR32_LWS,
>               `OR1200_OR32_LBZ,
>               `OR1200_OR32_LBS,
>               `OR1200_OR32_LHZ,
> @@ -959,6 +961,10 @@
>               `OR1200_OR32_LWZ:
>                       rfwb_op <=  {`OR1200_RFWBOP_LSU, 1'b1};
>                 
> +             // l.lws
> +             `OR1200_OR32_LWS:
> +                     rfwb_op <=  {`OR1200_RFWBOP_LSU, 1'b1};
> +               
>               // l.lbz
>               `OR1200_OR32_LBZ:
>                       rfwb_op <=  {`OR1200_RFWBOP_LSU, 1'b1};
> @@ -1096,6 +1102,10 @@
>       `OR1200_OR32_LWZ:
>               id_lsu_op =  `OR1200_LSUOP_LWZ;
>  
> +     // l.lws
> +     `OR1200_OR32_LWS:
> +             id_lsu_op =  `OR1200_LSUOP_LWS;
> +
>       // l.lbz
>       `OR1200_OR32_LBZ:
>               id_lsu_op =  `OR1200_LSUOP_LBZ;
> Index: rtl/verilog/or1200_defines.v
> ===================================================================
> --- rtl/verilog/or1200_defines.v      (revision 673)
> +++ rtl/verilog/or1200_defines.v      (working copy)
> @@ -699,6 +699,7 @@
>  `define OR1200_OR32_MACI              6'b010011
>  /* */
>  `define OR1200_OR32_LWZ               6'b100001
> +`define OR1200_OR32_LWS               6'b100010
>  `define OR1200_OR32_LBZ               6'b100011
>  `define OR1200_OR32_LBS               6'b100100
>  `define OR1200_OR32_LHZ               6'b100101

> _______________________________________________
> OpenRISC mailing list
> [email protected]
> http://lists.openrisc.net/listinfo/openrisc

_______________________________________________
OpenRISC mailing list
[email protected]
http://lists.openrisc.net/listinfo/openrisc

Reply via email to