text: /*******************************************************************************
   * Copyright 2020 FUJITSU LIMITED
   *
   * Licensed under the Apache License, Version 2.0 (the ""License"");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *     http://www.apache.org/licenses/LICENSE-2.0
   *
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an ""AS IS"" BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
   *******************************************************************************/
  void translatePXOR(xed_decoded_inst_t *p) {
    namespace xa = Xbyak_aarch64;
    struct xt_a64fx_operands_struct_t a64;
    xt_construct_a64fx_operands(p, &a64);
  
    /* 2020/03/16 11:43 */
    /* Col=S103*/
    if (false ||
        (a64.dstWidth == 64 && a64.PredType == A64_PRED_NO && a64.EVEXb == 0 &&
         a64.srcType == A64_OP_REG && true) ||
        (a64.dstWidth == 64 && a64.PredType == A64_PRED_NO && a64.EVEXb == 0 &&
         a64.srcType == A64_OP_MEM && true)) {
      XT_UNIMPLEMENTED;
    }
  
    /* Col=U103*/
    if (false || (a64.dstWidth == 128 && a64.PredType == A64_PRED_NO &&
                  a64.EVEXb == 0 && a64.srcType == A64_OP_MEM && true)) {
      a64.zTmpIdx = xt_push_zreg(&a64);
    }
    /* Col=V103*/
    if (false ||
        (a64.dstWidth == 128 && a64.PredType == A64_PRED_NO && a64.EVEXb == 0 &&
         a64.srcType == A64_OP_REG && true) ||
        (a64.dstWidth == 128 && a64.PredType == A64_PRED_NO && a64.EVEXb == 0 &&
         a64.srcType == A64_OP_MEM && true)) {
      a64.pTmpIdx = xt_push_preg(&a64);
    }
  
    /* Col=X103*/
    if (false || (a64.dstWidth == 128 && a64.PredType == A64_PRED_NO &&
                  a64.EVEXb == 0 && a64.srcType == A64_OP_MEM && true)) {
      CodeGeneratorAArch64::ldr(xa::ZReg(a64.zTmpIdx), xa::ptr(X_TMP_ADDR));
    }
    /* Col=Y103*/
    if (false ||
        (a64.dstWidth == 128 && a64.PredType == A64_PRED_NO && a64.EVEXb == 0 &&
         a64.srcType == A64_OP_REG && true) ||
        (a64.dstWidth == 128 && a64.PredType == A64_PRED_NO && a64.EVEXb == 0 &&
         a64.srcType == A64_OP_MEM && true)) {
      CodeGeneratorAArch64::not_(xa::PRegB(a64.pTmpIdx), xa::PReg(15),
                                 xa::PRegB(14));
    }
  
    /* Col=AE103*/
    if (false || (a64.dstWidth == 128 && a64.PredType == A64_PRED_NO &&
                  a64.EVEXb == 0 && a64.srcType == A64_OP_REG && true)) {
      CodeGeneratorAArch64::eor(xa::ZRegD(a64.dstIdx), xa::PReg(a64.pTmpIdx),
                                xa::ZRegD(a64.srcIdx));
    }
  
    /* Col=AG103*/
    if (false || (a64.dstWidth == 128 && a64.PredType == A64_PRED_NO &&
                  a64.EVEXb == 0 && a64.srcType == A64_OP_MEM && true)) {
      CodeGeneratorAArch64::eor(xa::ZRegD(a64.dstIdx), xa::PReg(a64.pTmpIdx),
                                xa::ZRegD(a64.zTmpIdx));
    }
  
    /* Col=BB103*/
    if (false ||
        (a64.dstWidth == 128 && a64.PredType == A64_PRED_NO && a64.EVEXb == 0 &&
         a64.srcType == A64_OP_REG && true) ||
        (a64.dstWidth == 128 && a64.PredType == A64_PRED_NO && a64.EVEXb == 0 &&
         a64.srcType == A64_OP_MEM && true)) {
      xt_pop_preg();
    }
    /* Col=BC103*/
    if (false || (a64.dstWidth == 128 && a64.PredType == A64_PRED_NO &&
                  a64.EVEXb == 0 && a64.srcType == A64_OP_MEM && true)) {
      xt_pop_zreg();
    }
  }
  