misc: Fix issues flagged by gcc 6
authorAndreas Hansson <andreas.hansson@arm.com>
Wed, 13 Apr 2016 16:13:44 +0000 (12:13 -0400)
committerAndreas Hansson <andreas.hansson@arm.com>
Wed, 13 Apr 2016 16:13:44 +0000 (12:13 -0400)
A few warnings (and thus errors) pop up after being added to -Wall:

1. -Wmisleading-indentation

In the auto-generated code there were instances of if/else blocks that
were not indented to gcc's liking. This is addressed by adding braces.

2. -Wshift-negative-value

gcc is clever enougn to consider ~0 a negative constant, and
rightfully complains. This is addressed by using mask() which
explicitly casts to unsigned before shifting.

That is all. Porting done.

src/arch/arm/isa/insts/neon.isa
src/mem/ruby/system/DMASequencer.cc

index 1b20c660d18f986b0682a4a912aa672ec146141f..163b71c138c7cbc39302793c009456ec822ba255 100644 (file)
@@ -2939,29 +2939,32 @@ let {{
     twoRegShiftInst("vrsra", "NVrsraQ", "SimdShiftAccOp", allTypes, 4, vrsraCode, True)
 
     vsriCode = '''
-        if (imm >= sizeof(Element) * 8)
+        if (imm >= sizeof(Element) * 8) {
             destElem = destElem;
-        else
+        } else {
             destElem = (srcElem1 >> imm) |
                 (destElem & ~mask(sizeof(Element) * 8 - imm));
+        }
     '''
     twoRegShiftInst("vsri", "NVsriD", "SimdShiftOp", unsignedTypes, 2, vsriCode, True)
     twoRegShiftInst("vsri", "NVsriQ", "SimdShiftOp", unsignedTypes, 4, vsriCode, True)
 
     vshlCode = '''
-        if (imm >= sizeof(Element) * 8)
+        if (imm >= sizeof(Element) * 8) {
             destElem = (srcElem1 << (sizeof(Element) * 8 - 1)) << 1;
-        else
+        } else {
             destElem = srcElem1 << imm;
+        }
     '''
     twoRegShiftInst("vshl", "NVshlD", "SimdShiftOp", unsignedTypes, 2, vshlCode)
     twoRegShiftInst("vshl", "NVshlQ", "SimdShiftOp", unsignedTypes, 4, vshlCode)
 
     vsliCode = '''
-        if (imm >= sizeof(Element) * 8)
+        if (imm >= sizeof(Element) * 8) {
             destElem = destElem;
-        else
+        } else {
             destElem = (srcElem1 << imm) | (destElem & mask(imm));
+        }
     '''
     twoRegShiftInst("vsli", "NVsliD", "SimdShiftOp", unsignedTypes, 2, vsliCode, True)
     twoRegShiftInst("vsli", "NVsliQ", "SimdShiftOp", unsignedTypes, 4, vsliCode, True)
index 6e708a927fdf2655a4bf91070e12ef806aec765b..3b03041589b750baea762b41370d3e70b9dfcbdb 100644 (file)
@@ -45,7 +45,7 @@ DMASequencer::init()
 {
     RubyPort::init();
     m_is_busy = false;
-    m_data_block_mask = ~ (~0 << RubySystem::getBlockSizeBits());
+    m_data_block_mask = mask(RubySystem::getBlockSizeBits());
 
     for (const auto &s_port : slave_ports)
         s_port->sendRangeChange();