From patchwork Mon Jun 10 20:49:39 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stafford Horne X-Patchwork-Id: 33072 Received: (qmail 52079 invoked by alias); 10 Jun 2019 20:49:57 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 52060 invoked by uid 89); 10 Jun 2019 20:49:57 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-25.3 required=5.0 tests=AWL, BAYES_00, FREEMAIL_FROM, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, KAM_SHORT, RCVD_IN_DNSWL_NONE, SPF_PASS autolearn=ham version=3.3.1 spammy=HX-Received:1885, H*Ad:U*rth, assembled, Horne X-HELO: mail-pg1-f196.google.com Received: from mail-pg1-f196.google.com (HELO mail-pg1-f196.google.com) (209.85.215.196) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 10 Jun 2019 20:49:54 +0000 Received: by mail-pg1-f196.google.com with SMTP id s27so5655852pgl.2; Mon, 10 Jun 2019 13:49:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=5jeakLw3eDv6iCxDUF/pZbngCc/MNulrb+Y/+Dyu4JA=; b=hyeojTAV9wVIZgO/pQRSsGYtlak5j9LEIsWPswo9iPVZwGz29LlFFvCDmvPyazxcS4 0bEuo4vBgmV6vuHSndtXLzlEZnSIJWL2Y3okI3B4IxMY82vr6+xppjmlHwY8/FqdmneD +979WUAkRVy6beq2+aHBJkV7ofStjhGytJGfHvfVZ7Mc68NblNEvGRjQrHwkTwA7UIQn FbdpZuL3WA/MRl+TLz/QO9i3qlD99J1l9W8ft4iLXgIQJlw5nFqe8DAhlJmCD4i2pSOB 0TaA8vC/5491EMUYfODJQ8Nl+vpdN6GYmFCqx9i82sYk3euGxgHtiTOjf8j8GeG81pFt g3qQ== Return-Path: Received: from localhost (g30.211-19-85.ppp.wakwak.ne.jp. [211.19.85.30]) by smtp.gmail.com with ESMTPSA id f10sm11852002pfd.151.2019.06.10.13.49.49 (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Mon, 10 Jun 2019 13:49:50 -0700 (PDT) From: Stafford Horne To: GDB patches , GNU Binutils Cc: Andrey Bacherov , Nick Clifton , Andrew Burgess , Richard Henderson , Openrisc , Stafford Horne Subject: [PATCH v3 10/11] sim/testsuite/or1k: Add test case for l.adrp instruction Date: Tue, 11 Jun 2019 05:49:39 +0900 Message-Id: <20190610204940.3846-1-shorne@gmail.com> MIME-Version: 1.0 X-IsSubscribed: yes This is a simple test to ensure that the l.adrp instruction can be assembled and simulated correctly. sim/testsuite/sim/or1k/ChangeLog: yyyy-mm-dd Stafford Horne * adrp.S: New file. --- Changes since v2: - new patch sim/testsuite/sim/or1k/adrp.S | 73 +++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 sim/testsuite/sim/or1k/adrp.S diff --git a/sim/testsuite/sim/or1k/adrp.S b/sim/testsuite/sim/or1k/adrp.S new file mode 100644 index 0000000000..ba384ccc84 --- /dev/null +++ b/sim/testsuite/sim/or1k/adrp.S @@ -0,0 +1,73 @@ +/* Tests the load page address instruction. + + Copyright (C) 2017-2019 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that 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 . */ + +# mach: or1k +# output: report(0x00002064);\n +# output: report(0x00012138);\n +# output: report(0x00002000);\n +# output: report(0x00012000);\n +# output: report(0x00002000);\n +# output: report(0x00014000);\n +# output: report(0x00000000);\n +# output: exit(0)\n + +#include "or1k-asm-test-helpers.h" + + STANDARD_TEST_ENVIRONMENT + + .section .data + .org 0x10000 + .align 4 + .type pi, @object + .size pi, 4 +pi: + .float 3.14159 + + .section .text +start_tests: + PUSH LINK_REGISTER_R9 + + /* Print out the PC. To compare with that loaded by l.adrp. */ + l.jal capture_pc + l.nop +capture_pc: + REPORT_REG_TO_CONSOLE r9 + + /* Print out our data address to compared with l.adrp offset. */ + l.movhi r11, ha(pi) + l.addi r11, r11, lo(pi) + REPORT_REG_TO_CONSOLE r11 + + /* Test l.adrp with symbols, loads page of symbol to register. */ + l.adrp r4, start_tests + REPORT_REG_TO_CONSOLE r4 + + l.adrp r4, pi + REPORT_REG_TO_CONSOLE r4 + + /* Test l.adrp with immediate, immediate is the page offset. */ + l.adrp r4, 0x0 + REPORT_REG_TO_CONSOLE r4 + + l.adrp r4, 0x12000 + REPORT_REG_TO_CONSOLE r4 + + l.adrp r4, -0x2000 + REPORT_REG_TO_CONSOLE r4 + + POP LINK_REGISTER_R9 + RETURN_TO_LINK_REGISTER_R9