Deleted Added
sdiff udiff text old ( 14150:1391e94a7b95 ) new ( 14157:0f836da31d9c )
full compact
1// -*- mode:c++ -*-
2
3// Copyright (c) 2011-2014, 2017, 2019 ARM Limited
4// All rights reserved
5//
6// The license below extends only to copyright in the software and shall
7// not be construed as granting a license to any other intellectual
8// property including but not limited to intellectual property relating

--- 837 unchanged lines hidden (view full) ---

846
847def template AmoOpConstructor {{
848 %(class_name)s::%(class_name)s(ExtMachInst machInst,
849 IntRegIndex _dest, IntRegIndex _base, IntRegIndex _result)
850 : %(base_class)s("%(mnemonic)s", machInst, %(op_class)s,
851 _dest, _base, _result)
852 {
853 %(constructor)s;
854
855 }
856}};
857
858def template AmoPairOpDeclare {{
859 class %(class_name)s : public %(base_class)s
860 {
861 public:
862 uint32_t d2_src ;

--- 29 unchanged lines hidden (view full) ---

892 uint32_t r2 = RegId(IntRegClass, result).index() + 1 ;
893
894 d2_src = _numSrcRegs ;
895 _srcRegIdx[_numSrcRegs++] = RegId(IntRegClass, d2);
896 r2_src = _numSrcRegs ;
897 _srcRegIdx[_numSrcRegs++] = RegId(IntRegClass, r2);
898 r2_dst = _numDestRegs ;
899 _destRegIdx[_numDestRegs++] = RegId(IntRegClass, r2);
900
901 }
902}};
903
904def template AmoArithmeticOpDeclare {{
905 class %(class_name)s : public %(base_class)s
906 {
907 public:
908 bool isXZR ;

--- 18 unchanged lines hidden (view full) ---

927 %(class_name)s::%(class_name)s(ExtMachInst machInst,
928 IntRegIndex _dest, IntRegIndex _base, IntRegIndex _result)
929 : %(base_class)s("%(mnemonic)s", machInst, %(op_class)s,
930 _dest, _base, _result)
931 {
932 %(constructor)s;
933 isXZR = false;
934 uint32_t r2 = RegId(IntRegClass, dest).index() ;
935 if (r2 == 31){
936 flags[IsReadBarrier] = false;
937 isXZR = true;
938 }
939 }
940}};