# Copyright (c) 2021-2022 Huawei Device Co., Ltd. # 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. definitions: [] tests: - file-name: "mov.null" isa: title: Move null reference into register description: Move null reference into a register. exceptions: - x_none verification: - none commands: - file-name: "op_vd_8" description: Check mov.null moves null reference to register. isa: instructions: - sig: mov.null v:out:ref acc: none format: [op_v_8] check-type: none tags: ['tsan'] code-template: | # %s lda.null %s ldai 0 return err: ldai 1 return cases: - values: - "#{[*0..255].map do |i| \" mov.null v#{i}\\n\" end .join}" - "#{[*0..255].map do |i| \" jne.obj v#{i}, err\\n\" end .join}" - file-name: "err" description: Check mov.null with incorrect register number. isa: instructions: - sig: mov.null v:out:ref acc: none format: [op_v_8] runner-options: [compile-failure] check-type: none code-template: | # mov.null %s ldai 0 return cases: - values: - v256 - values: - 123 - values: - a0