comparison lib/Target/Mips/MicroMipsInstrFormats.td @ 100:7d135dc70f03 LLVM 3.9

LLVM 3.9
author Miyagi Mitsuki <e135756@ie.u-ryukyu.ac.jp>
date Tue, 26 Jan 2016 22:53:40 +0900
parents afa8332a0e37
children 1172e4bd9c6f
comparison
equal deleted inserted replaced
96:6418606d0ead 100:7d135dc70f03
416 let Inst{20-16} = addr{20-16}; 416 let Inst{20-16} = addr{20-16};
417 let Inst{15-12} = funct; 417 let Inst{15-12} = funct;
418 let Inst{11-0} = addr{11-0}; 418 let Inst{11-0} = addr{11-0};
419 } 419 }
420 420
421 class POOL32C_STEVA_LDEVA_FM_MM<bits<4> type, bits<3> funct> {
422 bits<5> rt;
423 bits<21> addr;
424 bits<5> base = addr{20-16};
425 bits<9> offset = addr{8-0};
426
427 bits<32> Inst;
428
429 let Inst{31-26} = 0x18;
430 let Inst{25-21} = rt;
431 let Inst{20-16} = base;
432 let Inst{15-12} = type;
433 let Inst{11-9} = funct;
434 let Inst{8-0} = offset;
435 }
436
421 class CMov_F_I_FM_MM<bits<7> func> : MMArch { 437 class CMov_F_I_FM_MM<bits<7> func> : MMArch {
422 bits<5> rd; 438 bits<5> rd;
423 bits<5> rs; 439 bits<5> rs;
424 bits<3> fcc; 440 bits<3> fcc;
425 441
667 let Inst{31-26} = 0x18; 683 let Inst{31-26} = 0x18;
668 let Inst{25-21} = rt; 684 let Inst{25-21} = rt;
669 let Inst{20-16} = addr{20-16}; 685 let Inst{20-16} = addr{20-16};
670 let Inst{15-12} = funct; 686 let Inst{15-12} = funct;
671 let Inst{11-0} = addr{11-0}; 687 let Inst{11-0} = addr{11-0};
688 }
689
690 class LLE_FM_MM<bits<4> funct> {
691 bits<5> rt;
692 bits<21> addr;
693 bits<5> base = addr{20-16};
694 bits<9> offset = addr{8-0};
695
696 bits<32> Inst;
697
698 let Inst{31-26} = 0x18;
699 let Inst{25-21} = rt;
700 let Inst{20-16} = base;
701 let Inst{15-12} = funct;
702 let Inst{11-9} = 0x6;
703 let Inst{8-0} = offset;
672 } 704 }
673 705
674 class ADDS_FM_MM<bits<2> fmt, bits<8> funct> : MMArch { 706 class ADDS_FM_MM<bits<2> fmt, bits<8> funct> : MMArch {
675 bits<5> ft; 707 bits<5> ft;
676 bits<5> fs; 708 bits<5> fs;
909 let Inst{20-16} = addr{20-16}; 941 let Inst{20-16} = addr{20-16};
910 let Inst{15-12} = funct; 942 let Inst{15-12} = funct;
911 let Inst{11-0} = addr{11-0}; 943 let Inst{11-0} = addr{11-0};
912 } 944 }
913 945
914 class LWM_FM_MM16<bits<4> funct> : MMArch { 946 class LWM_FM_MM16<bits<4> funct> : MMArch, PredicateControl {
915 bits<2> rt; 947 bits<2> rt;
916 bits<4> addr; 948 bits<4> addr;
917 949
918 bits<16> Inst; 950 bits<16> Inst;
919 951