#
# RISC-V translation routines for the RVXI Base Integer Instruction Set.
#
# Copyright (c) 2018 Peer Adelt, peer.adelt@hni.uni-paderborn.de
#                    Bastian Koppelmann, kbastian@mail.uni-paderborn.de
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2 or later, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
# more details.
#
# You should have received a copy of the GNU General Public License along with
# this program.  If not, see <http://www.gnu.org/licenses/>.

# *** RV32C Standard Extension (Quadrant 0) ***
flw               011  ... ... .. ... 00 @cl_w
fsw               111  ... ... .. ... 00 @cs_w

# *** RV32C Standard Extension (Quadrant 1) ***
jal               001     ........... 01 @cj    rd=1  # C.JAL

# *** RV32C Standard Extension (Quadrant 2) ***
flw               011 .  .....  ..... 10 @c_lwsp
fsw               111 .  .....  ..... 10 @c_swsp
